【发布时间】:2017-08-10 16:17:35
【问题描述】:
对不起,愚蠢的问题...
我在文件 xml 中有一个 CDATA 子节点:
<placemark>
<description><![CDATA[ <h2>ML 2.1 - GREATER LOS ANGELES' AREA, CALIF.</h2><br><b>2016-09-29 16:10:00.3 UTC</b><br /><br /><table style="width:100%;"><tr><td><b>Latitude</b></td><td style="padding-left:5px;"> 34.13 N<br></td></tr><tr><td><b>Longitude</b></td><td style="padding-left:5px;"> 119.14 W<br></td></tr><tr><td><b>Deph</b></td><td style="padding-left:5px;"> 20 Km<br></td></tr><tr><td><b>Magnitude</b></td><td style="padding-left:5px;"> ML 2.1<br></td></tr></table><br /><br /><a href="http://www.emsc-csem.org/Earthquake/earthquake.php?id=534164"> Link to the event </a> ]]></description>
</placemark>
我得到 CDATA 但我不知道如何在字符串 php 中转换它
如何添加用于 CDATA 反斜杠转义 \ 的 for' ?
这种方式比容易...只要写
$file= simplexml_load_file(FILE);
$CDATA = $file -> placemark -> description;
$string= "'".$CDATA."'"
我希望你能帮助我,对不起我的英语,非常感谢你的建议!
【问题讨论】:
-
什么是
$CDATA?你用什么来解析 XML?请发布您用于从 XML 中获取CDATA的代码的 minimal but complete 版本.. -
@har07 我编辑了解释什么是 $CDATA .... 但问题是如果里面有很多单引号和双引号,它在字符串中的隐蔽程度
-
好吧,现在很清楚
$CDATA是什么了。接下来,您当前的代码有什么问题?您认为 CDATA 中的'是如何造成任何问题的? -
@har07 自己试试... print $string 会发现它不是字符串。如果在 $CDATA 的开头和结尾添加双引号,结果相同。问题是很多单引号和双引号..
-
这就是我们需要minimal reproducible example的原因,这样我们就可以尝试一下……就像this one。但正如您在链接的演示中看到的那样,结果是字符串。你是怎么得出你的不是字符串的结论的?