我有一个KML文件,我已将其更改为XML,并且可以毫无问题地从中输出任何信息。但是我的“描述”标签有一个CDATA块,里面有HTML代码。我使用PHP来回显某些东西,如果“描述”标签包含“一些HTML代码”。但是在我的XML文件中,“ td”标记(如我所说在CDATA块中)由两个换行符分隔,因此我的if语句不起作用。
我的PHP:
$a=array();
foreach($xml->Document->Folder->Placemark as $casa) {
if(strpos($casa->description,'<td>Mob_Reduzi</td>**WHAT TO PUT HERE**<td>0</td>') !== false){
echo "BLA BLA BLA"
}
}
我已经尝试过在这些标签之间使用换行符unicode的PHP代码,但是没有任何效果。消除换行符现在不是一个选择,因为有成千上万的换行符。提前致谢。
根据换行符的类型(通常取决于操作系统),可以使用以下转义序列之一来表示字符串中的换行符:
\n
对于Unix / OS X\r\n
视窗请注意,这些仅由PHP在双引号字符串内解释。因此,请牢记这一点(并假设总是有2个像您在问题中提到的那样出现换行符),您可以将检查更改为:
Unix / OS X换行符:
if(strpos($casa->description,"<td>Mob_Reduzi</td>\n\n<td>0</td>") !== false){
Windows换行符:
if(strpos($casa->description,"<td>Mob_Reduzi</td>\r\n\r\n<td>0</td>") !== false){
如果存在可变/不可预测的换行数,则最好使用正则表达式:http : //php.net/manual/en/function.preg-match.php
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句