вот пример
Код
$string = preg_replace("|<div class=my_class>(.*)</div>|mi", "\\1",$string);
проблема в том, что если задан многострочный текс, выдерает только первый div
пример
HTML
<div class=my_class>текст текст текст текст</div>
<div class=my_class>текст текст </div>
<div class=my_class>текст текст текст </div>
<div class=my_class>текст текст </div>
<div class=my_class>текст текст текст </div>
получаю
HTML
текст текст текст текст
<div class=my_class>текст текст </div>
<div class=my_class>текст текст текст </div>
<div class=my_class>текст текст </div>
<div class=my_class>текст текст текст </div>
Спустя 6 часов, 22 минуты, 33 секунды (8.02.2008 - 06:43) Timok написал(а):
Вообще очень странно. Тот который ты дал прекрасно работает и удаляет все теги (в твоем же примере).
Проверь сам.
Возможно, в исходной строке есть что-то ещё, что ты не учёл (например, лишние пробелы и т.п.). Попробуй ещё добавить аргумент limit=-1 (хотя вообще-то это значение по-умолчанию).
Проверь сам.
Код
<?php
$string = '<div class=my_class>текст текст текст текст</div>
<div class=my_class>текст текст </div>
<div class=my_class>текст текст текст </div>';
$string = preg_replace("|<div class=my_class>(.*)</div>|mi", "\\1",$string);
echo htmlspecialchars($string);
?>
$string = '<div class=my_class>текст текст текст текст</div>
<div class=my_class>текст текст </div>
<div class=my_class>текст текст текст </div>';
$string = preg_replace("|<div class=my_class>(.*)</div>|mi", "\\1",$string);
echo htmlspecialchars($string);
?>
Возможно, в исходной строке есть что-то ещё, что ты не учёл (например, лишние пробелы и т.п.). Попробуй ещё добавить аргумент limit=-1 (хотя вообще-то это значение по-умолчанию).
Спустя 12 часов, 31 минута, 58 секунд (8.02.2008 - 19:15) mcfalu написал(а):
да, были лишние пробелы и переходы на новую строку....
уже разобрался
уже разобрался
_____________