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 ...
}
?>xml_parser_set_option
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
xml_parser_set_option
Референца за `function.xml-parser-set-option.php` со подобрена типографија и навигација.
xml_parser_set_option
(PHP 4, PHP 5, PHP 7, PHP 8)
xml_parser_set_option — Set options in an XML parser
= NULL
Постави опции во XML парсер
Параметри
parser-
Поставува опција во XML парсер.
option-
Референца до XML парсерот за поставување опција.
Која опција да се постави. Погледнете подолу.
Следниве опции се достапни: Опции на XML парсер Константа на опција = NULL XML_OPTION_CASE_FOLDINGbool Контролира дали case-folding Тип на податок XML_OPTION_PARSE_HUGEbool е овозможено за овој XML парсер. Овозможено по дифолт. XML_OPTION_SKIP_TAGSTARTinteger Овозможува парсирање на документи поголеми од 10 MB. Оваа опција треба да биде овозможена само кога големината на документот е ограничена бидејќи во спротивно може да доведе до DoS. Оваа опција е достапна само кога се користи libxml2. XML_OPTION_SKIP_WHITEbool Наведете колку знаци треба да се прескокнат на почетокот на името на ознаката. XML_OPTION_TARGET_ENCODINGstring Дали да се прескокнат вредностите што се состојат од знаци за празно место. Поставува кој кодирање на целта xml_parser_create()да се користи во овој XML парсер. По дифолт, се поставува на истото како кодирањето на изворот што го користи ISO-8859-1,US-ASCIIandUTF-8. value-
. Поддржани кодирања на целта се
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Errors/Exceptions
Фрла ValueError новата вредност на опцијата. option.
кога ќе се помине невалидна вредност на
option Пред PHP 8.0.0, функцијата враќаше false кога ќе се помине невалидна вредност на E_WARNING
како и правењето на функцијата да враќа false.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.4.0 |
Додадена е опцијата XML_OPTION_PARSE_HUGE.
|
| 8.3.0 |
На value параметарот сега прифаќа и булови вредности. Опциите XML_OPTION_CASE_FOLDING and XML_OPTION_SKIP_WHITE
сега се булови опции.
|
| 8.0.0 |
parser очекува XMLParser
инстанца сега; претходно, валидна xml resource се очекуваше.
|
| 8.0.0 |
А ValueError се фрла ако
option е невалидна. Пред PHP 8.4.0, невалиден режим би се прифатил тивко како
|
Белешки од корисници 3 белешки
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.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'];