[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблема с регуляркой
mcfalu
в общем есть хтмл текст, и нужно выдрать в него определённые теги
вот пример

Код
$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>


получаю
HTML
текст текст текст текст
<div class=my_class>текст текст </div>
<div class=my_class>текст текст текст </div>





Спустя 6 часов, 22 минуты, 33 секунды (8.02.2008 - 06:43) Timok написал(а):
Вообще очень странно. Тот который ты дал прекрасно работает и удаляет все теги (в твоем же примере).
Проверь сам.
Код
<?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);
?>


Возможно, в исходной строке есть что-то ещё, что ты не учёл (например, лишние пробелы и т.п.). Попробуй ещё добавить аргумент limit=-1 (хотя вообще-то это значение по-умолчанию).

Спустя 12 часов, 31 минута, 58 секунд (8.02.2008 - 19:15) mcfalu написал(а):
да, были лишние пробелы и переходы на новую строку....
уже разобрался


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.