このエントリーをはてなブックマークに追加

更新日: 2016年2月25日

実行時間: 0.0243

XMLヘルパー

 XMLヘルパーは「 system/helper/xml_helper.php 」ファイルで、文字列を「XML」の「属性値」として
記述できるように、XML予約文字をエンティティ参照文字に変換する関数が定義されています。

XMLヘルパーのロード

 「 CI_Loader 」クラスの「 helper() 」メソッドでロードします。

    $this->load->helper('xml');

XMLヘルパーの関数

xml_convert($str, $protect_all = FALSE)

 第一引数に、XML の属性値として利用できるようにサニタイズする文字列を指定します。
 「&#10進文字コード;」のように記述する「10進HTMLユニコード」の先頭の「&」 文字は変換されないようになっています。

変換前文字 エンティティ参照文字
< (右大なり) &lt;
> (左大なり) &gt;
& (アンパサント) &amp;
" (ダブルクォテーション) &quot;
' (シングルクォテーション) &apos;
- (ハイフン) &#45;
    $this->load->helper('xml');

    $str = "My name is 'John'.";
    $str = xml_convert($str);
    echo $str;
    // My name is &apos;John&apos;.

 第二引数に、TRUEを指定すると、「&nbsp;」などの HTML特殊文字の先頭の「&」文字も変換されないように保護されます。

    $this->load->helper('xml');

    $copyright = "&copy; ci-guide.info";
    $str = xml_convert($copyright);
    echo $str;
    // &amp;copy; ci&#45;guide.info

    $str = xml_convert($copyright, TRUE);
    echo $str;
    // &copy; ci&#45;guide.info