Показать полную графическую версию : Регулярное выражение: вырезать данные между тегами
Не подскажите, плиз, регулярку как между тегами к примеру <div id="myclass">текст</div> вырезать текст? Буду очень благодарен, сенкс
$file = file_get_contents("http://www.site.ru");
echo "$file";
$file = preg_replace
(
'#(\<div[^\>]*\>).+?(\<\/div\>)#is',
'${1}${2}',
$file
);
А если между такими тегами нужно вытащить текст и теги его оформления:
<br>
<br>
<div class="text_content2_1">
текст
</div>
<br>
<br>
Объясните плиз, синтаксис :(
Может как-то по проще, указать одни теги до и другие после, и чтобы между ними вырезался текст с тегами
Вырезать - это удалять, или еще чего-то? Если копировать текст, то preg_match...
Подскажите, а как конкретно сделать, к примеру есть две переменные $a и $b, к примеру в первой переменной указать открывающиеся теги (<td><p style="myfont">) а во второй закрывающие (</p></td>), т.е. любой набор тегов между которымы нужно взять текст и копировать в новую переменную.
$a = "открывающие теги";
$b = "закрывающие теги";
функция копирования текста между этими тегами (переменной a и b)
echo $result; //вывод результата на экран
Как будет выглядеть такой код? Спасибо за помощь.
if
(
preg_match
(
'#'.preg_quote($a).'(.+?)'.preg_quote($b).'#is',
$file,
$result
)
) echo $result[1];
см. http://ru2.php.net/preg-match
Хорошая справка для начинающих по рег-выражениям. (http://debugger.ru/articles/nativeregexp)
Рег-выражения для разных языков. (http://regexp.by.ru/)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.