- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试用 PHP 解析 KML 文件并使用 JavaScript 解析它。到目前为止我已经尝试了不同的方法。我的问题是,我似乎无法删除“xml”中的每个换行符。使用以下方法,我可以将所有 XML 强制放在一行中,但无法从“<![CDATA[....
”中删除空格
$dom = new DOMDocument();
$dom->preserveWhitespaces = false;
$dom->load("FILE-URL goes here");
$xpath = new DOMXPath($dom);
foreach ($xpath->query('//text()') as $domText) {
$domText->data = trim(str_replace("\r\n","",$domText->nodeValue));
}
$dom->formatOutput = true;
$string = $dom->saveHTML();
通过我的下一次尝试,我能够将所有内容转换为字符串,但无法从中删除任何换行符:
$xml = simplexml_load_file("FILE-URL goes here", 'SimpleXMLElement', LIBXML_NOCDATA);
$string = (string)$xml->asXML();
print_r(trim(preg_replace("/\r\n\t+/","",$string)));
为了执行以下 JS 代码,需要删除中断:
geoXml.parseKmlString('<?php print(STRING FROM ABOVE) ?>');
不幸的是,我无法将文件下载到服务器上,因此我必须使用类似上述的内容。另外我无法使用 PHP 来显示 map 。 KML 文件本身是一个普通的 Google-Maps-KML 文件。
最佳答案
preg_replace
中的正则表达式正在查找特定的空白字符字符串:
preg_replace("/\r\n\t+/","",$string);
我相当确定您想要查找这些字符中的任何一个,即
preg_replace("/[\r\n\t+]/", "", $string);
您还可以将 str_replace
与您要查找的空白实体数组一起使用:
$ws = array("\r", "\n", "\t");
$newstr = str_replace($ws, "", $string);
除非速度是一个问题,否则正则表达式更加灵活。
关于javascript - 在 PHP 中读取 KML 文件,将其强制写入一行,然后使用 Google map 的 parseKMLString 对其进行解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26056714/
旧帖子 How can I use parse and parseKmlString together?? I need show a map loading one KML file (I use
我正在尝试用 PHP 解析 KML 文件并使用 JavaScript 解析它。到目前为止我已经尝试了不同的方法。我的问题是,我似乎无法删除“xml”中的每个换行符。使用以下方法,我可以将所有 XML
我是一名优秀的程序员,十分优秀!