知识大全 PHP cdata 处理(详细介绍)

Posted

篇首语:书到用时方恨少,事非经过不知难。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 PHP cdata 处理(详细介绍)相关的知识,希望对你有一定的参考价值。

PHP cdata 处理(详细介绍)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

之前为项目赶进度用php 的simplexml来解析 xml 当时发现 simplexml不支持<![CDATA标签 所有处于这个标签内的值都没有办法取到  

  当时在网上找了一个CDATA的转换器 修改之后 将CDATA标签给过滤掉 如下

复制代码 代码如下:  // 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)             // Deal with "state"             switch ( $state )                 case out :                     if ( < == $v )                         $state = $v;                     else                         $new_xml = $v;                                     break;                 case < :                     if ( ! == $v  )                         $state = $state $v;                     else                         $new_xml = $state $v;                         $state = out ;                                     break;                  case <! :                     if ( [ == $v  )                         $state = $state $v;                     else                         $new_xml = $state $v;                         $state = out ;                                     break;                 case <![ :                     if ( C == $v  )                         $state = $state $v;                     else                         $new_xml = $state $v;                         $state = out ;                                     break;                 case <![C :                     if ( D == $v  )                         $state = $state $v;                     else                         $new_xml = $state $v;                         $state = out ;                                     break;                 case <![CD :                     if ( A == $v  )                         $state = $state $v;                     else                         $new_xml = $state $v;                         $state = out ;                                     break;                 case <![CDA :                     if ( T == $v  )                         $state = $state $v;                     else                         $new_xml = $state $v;                         $state = out ;                                     break;                 case <![CDAT :                     if ( A == $v  )                         $state = $state $v;                     else                         $new_xml = $state $v;                         $state = out ;                                     break;                 case <![CDATA :                     if ( [ == $v  )                         $cdata = ;                         $state = in ;                     else                         $new_xml = $state $v;                         $state = out ;                                     break;                 case in :                     if ( ] == $v )                         $state = $v;                     else                         $cdata = $v;                                     break;                 case ] :                     if (  ] == $v  )                         $state = $state $v;                     else                         $cdata = $state $v;                         $state = in ;                                     break;                 case ]] :    if (  > == $v  )     $new_xml = entities($cdata); #       $new_xml = $cdata; //                        $new_xml = str_replace( > >   //                                  str_replace( > <     //                                str_replace( " "       //                              str_replace( & &         //                            $cdata))));                         $state = out ;                     else                         $cdata = $state $v;                         $state = in ;                                     break;             // switch                 //         // Return         //             return $new_xml; cha138/Article/program/Java/JSP/201311/20144

相关参考

知识大全 关于PHP session 存储方式的详细介绍

关于PHPsession存储方式的详细介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PHP

知识大全 php curl选项列表(超详细)

本篇文章是对php中的curl选项列表进行了详细的分析介绍需要的朋友参考下   第一类对于下面的这些option的可选参数value应该被设置一个bool类型的值选项可选value值备注CU

知识大全 计算php页面运行时间的函数介绍

本篇文章是对计算php页面运行时间的函数进行了详细的分析介绍需要的朋友参考下   一个计算php页面运行时间的函数复制代码代码如下:cha138/Article/program/P

知识大全 解析php php

本篇文章是对php中php_openssldll的作用进行了详细的分析介绍需要的朋友参考下   一openssl简介数据加密是信息信息传输中的一个重要组成部分任何信息都以明文方式传输确实是个

知识大全 php获取$

本篇文章是对php获取$_POST同名参数数组的实现方法进行了详细的分析介绍需要的朋友参考下   今天写php的时候发现$_POST["arr"]无法获取参数arr的数组记录一下例如有以下表

知识大全 解析php session

本篇文章是对php中session_set_save_handler函数的用法(mysql)进行了详细的分析介绍需要的朋友参考下 复制代码代码如下:<?php/*===========

知识大全 .NET更新Xml中CDATA内容的方法实例

.NET更新Xml中CDATA内容的方法实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这篇文章

知识大全 解析php如何将日志写进syslog

本篇文章是对php中将日志写进syslog的方法进行了详细的分析介绍需要的朋友参考下   在做项目的时候们为了方便运维我们经常需要将系统日志写入系统syslog下边我们就介绍一下在linux

知识大全 php ios推送(代码)

本篇文章是对phpios推送进行了详细的分析介绍需要的朋友参考下 复制代码代码如下:cha138/Article/program/PHP/201311/20950

知识大全 关于php循环跳出的问题

本篇文章是对php中循环跳出的问题进行了详细的分析介绍需要的朋友参考下 复制代码代码如下:cha138/Article/program/PHP/201311/20938