<my_tag_name>
text..
any_text
</my_tag_name>
が、問題は、ユーザがこのようなコンテンツ置いた場合にどのような表示されます:
<my_tag_name>
text..
any_text
</my_tag_name>
</my_tag_name>
をだから私はと<を置き換えます<「
function content($string, $tagname)
{
$pattern = "/<$tagname>([\w\W]*?)<\/$tagname>/";
$preg_match($pattern, $string, $matches);
return str_replace("<'", "<", $matches[1]);
}
function replace($string)
{
return str_replace("<", "<'", $string);
}
目標は、カスタムタグやコンテンツなどのテキストの任意の種類を持っていることです。これは正しいアプローチですか?私はそれを試して、それは動作します。しかし、再び私は同じ原則がhtmlであることを思い出しましたが、そこには< div>私のコンテンツ< div> </div>と言うことはできません。
私はまた、このように持っていると思った:
tag: reserved_64_characters
tag2: reserved_64_characters
はどのようにこれらの事はXMLで実装されていますか?エスケープ/置き換えもありますか? 私は任意のコンテンツを挿入することができますしたいと思います。私は任意の文字を意味する(また<タグ名> ..)。 CDATAセクションに
http://www.w3schools.com/xml/xml_cdata.asp上の注意:
A CDATAセクションは、文字列を含めることはできません "]]>"
史上最高の柱の一つ:本質的にはhttp://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags :文法のための正規表現を使用しないでください! – SJuan76
+1 "文法に正規表現を使用しない" – Nemoden