に署名:のPHPにpreg_replace |は、[、]私は、この「簡単な」コードに問題が
$img_oryg = '<igm class="aligncenter" src="(oryginal img source)" alt="some text | some text">';
$replace_with = '<div class="ivcs_holder"><igm class="aligncenter" src="(oryginal img source)" alt="some text | some text" /></div>';
$content = preg_replace("#$img_oryg#s", $replace_with , $contetn);
echo $content;
これは勿論、サンプルコードであり、すべてが各画像に重なるループ、内部符号化されますdivと一緒に、またいくつかの他のものdoeas。 問題があります|画像のaltタグに追加することができます。それが存在する場合、コードは奇妙に動作し、結果は正しくありません。
誰もそのような文字列を処理する方法を知っていますか?
umptillionth + 1時間の場合:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454正規表現を使用してHTMLを解析しないでください。 。 –
これで、HTMLを解析するために正規表現を使用すべきではないことがわかったので、同じ結果を得るにはどうすればよいですか? –
@MarcB奇妙なことに、正規表現を使用してXML/HTMLパーサの一部を書いています –