平成30/ 2018-12-10 16:41
XML Escape

##############

以下が、XML Escape 関数になる。

echo htmlspecialchars("&\"'<>", ENT_XML1 | ENT_QUOTES);


echo "&\"'<>";
echo "\n\n";
echo htmlspecialchars("&\"'<>", ENT_XML1);
echo "\n\n";
echo htmlspecialchars("&\"'<>", ENT_XML1 | ENT_QUOTES);
echo "\n\n";
echo htmlspecialchars("&\"'<>", ENT_QUOTES);
    >>
&"'<>

&amp;"'&lt;&gt;

&amp;&quot;&apos;&lt;&gt;

&amp;&quot;&#039;&lt;&gt;
    <<



##############


# XML に、制御コードがあると、パースエラーになる。制御コードとは、Ascii表 で確認できる。
# 改行コードの、LF、CR を除いた制御コードは削除した方がいい。

$str = preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $str);

ちなみに、\x61 は「a」なので、これを上記に含めると「a」が削除される。


# Thanks.
#
ASCIIコード表
http://www9.plala.or.jp/sgwr-t/c_sub/ascii.html

The extended ASCII table
http://www.ascii-code.com/

ASCII Table and Description
(in Japanese environment)
http://www12.plala.or.jp/mz80k2/electronics/ascii/ascii.html

ASCII 文字コード
https://msdn.microsoft.com/ja-jp/library/4z4t9ed1(v=vs.80).aspx