Autor Zpráva
user243
Profil
hoj,
potřeboval bych odstranit html komentáře, vyjma podmíněných komentářů pro IE; díval jsem se, že se tady už řešilo, ale bylo to pro všechny komentáře; já sestrojil toto:
<!--\[{1}.*\]{1}-->
ale vybírá to právě ty podmíněné komentáře, potřeboval bych opak a když je to v dokumentu víckrát, tak to vybere i text mezi tím;
ShiraNai7
Profil
user243:
<!--(?!\[if IE).*?-->
user243
Profil
díky, ale odstranilo mi to jen některé komentáře, například <!-- něco2 --> to odstraní, ale řádek nad tím je <!-- něco1 --> a to zůstane;
<!--
něco
-->
zůstane také;
Alphard
Profil
Jaké modifikátory používáte?
user243
Profil
žádné, jen samotný výraz
$obsah = preg_replace("/<!--(?!\[if IE).*?-->/", "", $obsah);
Alphard
Profil
Zkusil bych tam dát aspoň s (dotall).
user243
Profil
vyřešeno, kamarád mi s tím poradil a funguje to přesně, jak jsem chtěl;
/<!--[^\[]+?-->/s
DJ Miky
Profil
Akorát se hodí dodat, že komentáře obsahující znak '[' (kdekoliv) to neodstraní, např. <!-- ahoj [ světe -->.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: