[megoldva] PHP: ereg_replace() és preg_replace()

Sziasztok!

A következő PHP függvény ereg_replace()-szel működik, de preg_replace()-szel nem:

$html=preg_replace("<[^>]+>","*",$html);

A $html változóban lévő szabványos HTML kódban az összes taget csillagra szeretném cserélni. Meg tudja valaki mondani, hogy preg_replace()-szel miért nem működik? ereg_replace()-szel tökéletes.

Hozzászólások

$html=preg_replace("#<[^>]+>#","*",$html);

A preg_replace egy lebutított regexp, előnye hogy gyors, hátránya, hogy sok mindent nem tud, és picit más a szintaxisa.
(A perl-es regexp kompatíbilis a teljes regexpel, de fordítva ez nem igaz. Pl.: preg nem fog jól matchelni a következőre: "<a>.*</a>", helyette "|<a>[^<]*</a>|" irandó)
Olvasnivaló: http://www.php.net/manual/en/reference.pcre.pattern.posix.php