您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 定西分类信息网,免费分类信息发布

PHP cdata 处理

2025/4/27 4:14:42发布12次查看
// states: // // 'out' // '' // '!' // '![' // '![c' // '![cd' // '![cdat' // '![cdata' // 'in' // ']' // ']]' // // (yes, the states a represented by strings.) // $state = 'out'; $a = str_split($xml); $new_xml = ''; foreach ($a as $k = $v
// states: // // 'out' // ' $v) { // deal with state. switch ( $state ) { case 'out': if ( '' == $v ) { $new_xml .= htmlentities($cdata);# $new_xml.= $cdata;// $new_xml .= str_replace('>','>', // str_replace('>','
最近发现,总是有alert发出来, 说是simplexml解析出错。
发现是原来有xml的数据是]]]>. 出现了连续的3个], 造成上面的解析函数不能处理。
而且这个问题很难修正, 你不知道下次会不会有4, 5个]出现。
所以决定还是将这段解析 的代码换成dom xml,本身 dom的处理还是比较简单的,
包含domelement, domdocument, domnodelist, domnode几个 component.
对于 domnode有nodevalue, nodetype, nodename的成员函数。
首先先用loadxml将string转化为domdocument对像, 再用getelementsbytagname转化为domnodelist对像, 再使用->item(0)转化为domnode, 然后就可以使用上面的三种方法了。
定西分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product