Чтобы не поганить топик откровенно ламерским вопросом, спрошу здесь: как из строки вида
Код:
bla-bla-bla<tag>some text</tag>bla-bla-bla
выкусить "some text"?
добавлено через 55 минут
Вопрос снят. В джаббере Pahan-Hubbitus ответил:
Код:
#.*?<tag>(.*?)</tag>.*#
добавлено через 24 минуты
и пояснения от Pahan-Hubbitus:
Цитата:
# - соответственно ограничитель, начальный и конечный.
. - что-либо. По сути все что угодно, любой символ (за исключением переносов строк, если не указан модификатор s, за подробностями в МАН). Если модификаторами шаблон не заякорен (anchored) то можно опустить. На всякий случай привел. Должно и без него быть нормально, в данной ситуации (собственно данных-то маловато что делаете и чем и на чем).
* - Квантификатор "ноль или больше". Действует на впереди стоящий символ или выражение (в данном случае точку)
? - инверсия жадности квантификатора (angry). По-умолчанию квантификаторы "жадные", то есть захватывают столько, сколько могут захватить (при случае с точкой это будет до конца). Подробности также в МАНе.
<tag> и </tag> - ну тут собственно все понятно, прямое совпадение с текстом
(.*?) - Кроме скобок все описано выше. СОбственно скобки значат что нужно захватить этот субпаттерн (subpattern). В случае с PHP preg_match скажем, это значит что совпадением будет заполнен какраз массив $matches. Ну собственно самое главное, что искали.
|