xml_parser_set_option
(PHP 4, PHP 5, PHP 7, PHP 8)
xml_parser_set_option — XML パーサのオプションを設定する
説明
XML パーサのオプションを設定します。
パラメータ
parser
-
オプションを設定する XML パーサへのリファレンス。
option
-
設定するオプション。以下を参照ください。
次のオプションが利用可能です。
XML パーサオプション オプション定数 データ型 説明 XML_OPTION_CASE_FOLDING
bool XMLパーサの大文字変換 を有効にするかどうかを制御する。デフォルトで有効。 XML_OPTION_PARSE_HUGE
bool 10 MB を超えるドキュメントの解析を許可する。 この設定は DoS 攻撃に繋がる可能性があるため、 ドキュメントサイズに制限を設けている場合にのみ有効にすべきです。 libxml2 を使用している場合のみ利用可能です。 XML_OPTION_SKIP_TAGSTART
integer タグ名の最初の何文字を読み飛ばすかどうかを設定する。 XML_OPTION_SKIP_WHITE
bool 空白文字からなる値を読み飛ばすかどうかを設定する。 XML_OPTION_TARGET_ENCODING
string XML パーサについてどの ターゲット エンコーディング を使用するかを設定する。デフォルトでは、 xml_parser_create() により使用されたソース エンコーディングと同じエンコーディングが設定されます。 サポートされるターゲットエンコーディングは、 ISO-8859-1
,US-ASCII
,UTF-8
です。 value
-
そのオプションの新しい設定値。
エラー / 例外
無効な値を option
に渡すと、ValueError がスローされます。
PHP 8.0.0 より前のバージョンでは、
無効な値を option
に渡すと E_WARNING
が発生し、false
を返していました。
変更履歴
バージョン | 説明 |
---|---|
8.4.0 |
XML_OPTION_PARSE_HUGE が追加されました。
|
8.3.0 |
value パラメータは、
boolean の値を受け入れるようになりました。
XML_OPTION_CASE_FOLDING
と XML_OPTION_SKIP_WHITE が
boolean の値を受け入れるようになっています。
|
8.0.0 |
引数 parser は、
XMLParser インスタンスを期待するようになりました。
これより前のバージョンでは、有効な xml resource が期待されていました。
|
8.0.0 |
option が無効な値の場合、
ValueError がスローされるようになりました。
|
+add a note
User Contributed Notes 3 notes
www.thomaskoch.it ¶
16 years ago
The option XML_OPTION_SKIP_WHITE has no effect in my PHP 5.2.6 (with expat-1.95.8-5). To skip cdata composed of white space only, simply check for that at the beginning of your cdata callback function:
<?php
function callback_cdata($parser, $cdata)
{
if(!trim($cdata))
return;
// ... continue processing ...
}
?>
pupeno at pupeno dot com ¶
22 years ago
XML is case sensitive, then, from my point of view, disabling case folding doesn't goes against xml 1.0 specifications but the contrary, disabling case folding allow us to distiguish between diferent cases of the same letter ('a' and 'A') which of XML are two diferent things.
From my point of view, disabling case folding is a good practice and I think it should be disabled by default.
More information on:
http://www.isacat.net/2001/xml/case.htm
and
http://www.w3.org/TR/REC-xml
Thank you.
j[no_spam_please] at [thx]jessepearson dot net ¶
17 years ago
In the function below, you need to update two lines if you don't want php to throw warnings.
change these two:
$elements[$index]['attributes'] = $tag['attributes'];
$elements[$index]['content'] = $tag['value'];
to this:
$elements[$index]['attributes'] = empty($tag['attributes']) ? "" : $tag['attributes'];
$elements[$index]['content'] = empty($tag['value']) ? "" : $tag['value'];
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google