Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
RickyCastro
0 / 0 / 1
Регистрация: 30.10.2013
Сообщений: 29
1

Preg_replace поменять теги

31.01.2015, 14:32. Просмотров 431. Ответов 4
Метки нет (Все метки)

Здравствуйте! Помогите пожалуйста с вот такой задачкой

Есть текстовый файл с огромной тучей вот таких тегов

<p><span class=\\"h2\\" тут еще атрибуты> текст текст </span></p>

Нужно их заменить на <h2> текст текст</h2>

Помогите пожалуйста.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2015, 14:32
Ответы с готовыми решениями:

preg_replace, насколько быстр?
Ламерский конечно вопрос, но всё таки перестраховаться надо :) Эта функция...

preg_replace() и $_POST, есть ли тут дыра в безопасности?
Вот о чём речь: В некоторых местах на хостинге появились файлы с содержимым:...

Не могу исправить php код preg_replace() , Parse error: syntax error, unexpected ';'
Здравствуйте, Никак не могу разобраться как исправить ошибку. Код выполняет...

Редактировать теги mp3
Доброго времени суток Предположим есть аудио файл mp3, как вы знаете сам фай...

Php преобразование в теги
Здравствуйте Форумчане :) Проблема такая: Есть гостевая на php и она не...

4
Vadim_Lasso
431 / 350 / 259
Регистрация: 29.11.2011
Сообщений: 627
31.01.2015, 14:48 2
Например так:

PHP
1
2
3
4
5
6
7
<? ob_start(); ?>
<p><span class=\\"h2\\" тут еще атрибуты> текст текст </span></p>
<p><span class=\\"h2\\" тут еще атрибуты2> текст2 текст2 </span></p>
<p><span class=\\"h2\\" тут еще атрибуты3> текст3 текст3 </span></p>
<? $html = ob_get_clean(); ?>
 
<? echo preg_replace("/<p><span.*>(.*)<\/span><\/p>/", "<h2>$1</h2>", $html); ?>
1
pav1uxa
1858 / 1712 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
31.01.2015, 14:48 3
Цитата Сообщение от RickyCastro Посмотреть сообщение
<p><span class=\\"h2\\" тут еще атрибуты> текст текст </span></p>
А для чего там 2 слеша перед кавычками? Или это ошибка? Если ошибка то так:
PHP
1
2
3
4
5
6
7
8
9
<?php
$text = <<<E
<p><span class="h2" тут еще атрибуты> текст текст </span></p>
    <p><span class="h2" тут еще атрибуты> текст текст </span></p>
   <p><span class="h2" тут еще атрибуты> текст текст </span></p>
E;
$text = preg_replace("/<p><span class=\"h2\"[^>]*>([^<]+)<\/span><\/p>/iu", "<h2>$1</h2>", $text);
echo $text;
?>
результат:
HTML5
1
2
3
<h2> текст текст </h2>
    <h2> текст текст </h2>
   <h2> текст текст </h2>
Если нужно именно со слешами то так:
PHP
1
2
3
4
5
6
7
8
9
<?php
$text = <<<E
<p><span class=\\"h2\\" тут еще атрибуты> текст текст </span></p>
    <p><span class=\\"h2\\" тут еще атрибуты> текст текст </span></p>
   <p><span class=\\"h2\\" тут еще атрибуты> текст текст </span></p>
E;
$text = preg_replace("/<p><span class=\\\\\"h2\\\\\"[^>]*>([^<]+)<\/span><\/p>/iu", "<h2>$1</h2>", $text);
echo $text;
?>
1
RickyCastro
0 / 0 / 1
Регистрация: 30.10.2013
Сообщений: 29
31.01.2015, 15:06  [ТС] 4
нет, это не ошибка. Там так и есть

Добавлено через 15 минут
Оказывается, еще в первом теге <p> могут быть атрибуты такого типа style=\\"text-align: justify;\\"
0
tip78
-72 / 10 / 4
Регистрация: 01.09.2009
Сообщений: 163
02.02.2015, 04:09 5
PHP
1
preg_replace('#<p.+?h2.+?>\s*(.+?)\s*</span>\s*</p>#i','<h2>$1</h2>',$txt);
0
02.02.2015, 04:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2015, 04:09

Русские теги в XML
Здравствуйте!) Никак не могу понять как работать с файлом xml, в котором...

Удаляет все html теги из файла. strip_tags?
Доброго времени суток! Есть php скрипт, позволяющий редактировать txt файл...

php!? я сделал фильтр, глотающий теги, но не пойму почему он не может отфильтровать строку (см. внутри)?
$message=preg_replace('(&lt;+?&gt;)','|',$message); почему он не может отфильтровать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru