Программирование > Регулярные выражения
почти xml...
CGVictor:
Задача, собственно, следующая:
Необходимо получить из текста все вхождения вида:
$somecontent
$starttag и $endtag известны.
$somecontent надо получить.
Вхождений может быть больше одного.
В регулярных я не силен, так что очень желателен "рассказ с показом"... Ну обьясните please...
И, если возможно, с уклоном в PHP.
Заранее спасибо.
Макс:
$txt = "<starttag> some content <endtag>
<st_tag> second <end_ag>
<starttag> next content <endtag> ";
$start_tag = \'starttag\';
$end_tag = \'endtag\';
preg_match_all("~(?<=<".$start_tag.">).+?(?=<".$end_tag.">)~si", $txt, $m);
print_r($m);
Макс:
похоже у форума какая-то баго-фича : в комбинацию "знак больше и скобка" он вставляет пробел.
>) - должно быть везде без пробела между ними
Yukko:
на вскидку:
$content = "somecontent
somecontent1
somecontent2";
preg_match_all("/([^]*)/i", $content, $matches);
print_r($matches);
[^]* означает что совпадут любые символы, кроме
долго писал... Макс ответил :)
Yukko:
Макс
я бы .+? не писал,
Навигация
Перейти к полной версии