>백엔드 개발 >PHP 튜토리얼 >页面含html文本提交处理,该怎么处理

页面含html文本提交处理,该怎么处理

WBOY
WBOY원래의
2016-06-13 10:06:43881검색

页面含html文本提交处理

XML code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//xml局部格式如下<aa url="www.xxx.com">    <a href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答1</a><br><br>       <font size="13"><a href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答2</a></font><br><br>       <font size="13"><a href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答3</a></font><br><br>    ]]>  </aa>


以上xml里面的正确格式

现在如果要修改的话,我会先取出aa节点下面的值,然后直接提交就报错。
我用htmlspecialchars编码过,然后提交给xml节点后,虽然不报错,但是显示成下面错误的这样。
XML code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><aa url="www.xxx.com">      </aa>


请问要提交含html标记的值给xml节点需要怎样处理下?

------解决方案--------------------
CDATA 中的内容不需要转义!转义反而错了

------解决方案--------------------
XML code
<aa url="www.xxx.com">           <font size="13"><a href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答1</a></font><br><br>       <font size="13"><a href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答2</a></font><br><br>       <font size="13"><a href="www.xxx.com?x=s&f=3" target="_blank">常 见 问 答3</a></font><br><br>      </aa><br><font color="#e78608">------解决方案--------------------</font><br>之后不要用htmlspecialchars编码<br><font color="#e78608">------解决方案--------------------</font><br>php.ini中 magic_quotes_gpc()函数是打开的么?自动给引号转义了。。<br><font color="#e78608">------解决方案--------------------</font><br>用XmlWriter写CDATA数据<br><font color="#e78608">------解决方案--------------------</font><br>顺便给你粘过来.
PHP code
$str = <url> </url><url> </url>XML;$xml = simplexml_load_string($str,'simpleXMLElement',LIBXML_NOCDATA);header('Content-type: application/xml');$xw = new XMLWriter();$xw->openMemory();$xw->startDocument('1.0','utf-8');$xw->startElement('root');foreach ($xml->url as $item){//在循环内修改即可    $xw->startElement('url');    $xw->writeCdata($item.'abc');    $xw->endElement();}$xw->endElement();$xw->endElement();echo $xw->outputMemory();<div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.