私は次のような機能を持っています:
function replaceXMLEntities($subject) {
$subject = str_replace("&", "&", $subject);
$subject = str_replace("'", "'", $subject);
$subject = str_replace("<", "<", $subject);
$subject = str_replace(">", ">", $subject);
$subject = str_replace("\"", """, $subject);
return $subject;
}
この関数は、文字列を xmpl エンコーディング用の安全な文字列に変換するために使用されます。
しかし、いくつかのxmplデータが2回エンコードされるという問題があります。
&
入力が到達するにつれて
&&
コードの引用符なしでテキストを入力すると、ここのようになります:)
& と & のようなものを区別できる正規表現が必要です
if not & then do & -> & conversion else dont touch it.
そのような正規表現をどのように達成できるか考えていますか? 関数を作成することもできますが、この場合は明らかに正規表現の方が適しています。