2009-10-11 3 views
0

Я пытаюсь расширить PHP Markdown, чтобы разрешить использование {{и}} вокруг некоторых частей текста (они станут ключевыми словами для поиска, например тегом).Как найти все совпадения '{{**** *** **}}' с регулярным выражением?

У меня есть это основное регулярное выражение, вроде работает:

preg_match_all("/\{\{(.*)\}\}/", $description, $nomsTags); 

Кроме него не работает, когда есть 2 ключевые слова в одном предложении:

This {{is}} just an {{example}}. 

Он возвращает '{{is}} just an {{example}}' вместо '{{is}}' и '{{example}}'.

Как изменить регулярное выражение так, чтобы оно работало в обоих случаях?

ответ

2

Квантеры жадные. Это означает, что предыдущее выражение расширяется до максимума возможных повторений. Попробуйте, не жадный квантор вместо путем добавления к ? квантора:

/\{\{(.*?)\}\}/ 
+0

Спасибо, это сработало. Я приму свой ответ, потому что добавлено только 1 персонаж (я ленив;)), и вы добавили дополнительное объяснение. –

Смежные вопросы