February 7, 2011

Regular Expressions - Greedy Patterns

<a href="1.html">some unpredictable text</a>,
<a href="2.html">yet another unpredictable text</a>,
<a href="3.html">text with specialchars</a>

Используйте не .* (что покажется верным на первый взгляд), а .*?, что говорит парсеру забирать не по краям, а с первого совпадения. Тогда результат работы регулярного выражения будет соответствовать ожидаемому.
$html=preg_replace("/<a href="[\d]+.html">.*?</a>/i", $html);

No comments: