我正在尝试解析网站主页,将其转换为xml文件,以便在我的应用中用作api。
到目前为止,我已成功完成了这项工作。但是,解析后的文本包含&
(&符号)字符,导致XML解析器失败。
我正在寻找一种不会在XML文件中使用CDATA
或不输出CDATA
的解决方案。
我想在每次出现时将&
替换为and
。我应该使用什么phpQuery方法?
这会导致浏览器出错,因为text()方法返回带有
的文本 其中有 &
个字符。
require('phpQuery/phpQuery.php');
$all=phpQuery::newDocumentFileHTML('BPUT.htm', $charset = 'utf-8');
$links = $all['a.myblue'];
echo '<notice>';
foreach ($links as $link) {
echo '<text>';
echo pq($link)->text();
echo '</text>';
echo '<url>';
echo pq($link)->attr('href');
echo '</url>';
}
echo '</notice>';
?>
我不想使用CDATA,因为CDATA标记在生成的XML中可见:
<?php
header('Content-type: text/xml');
require('phpQuery/phpQuery.php');
$all=phpQuery::newDocumentFileHTML('BPUT.htm', $charset = 'utf-8');
$links = $all['a.myblue'];
echo '<notice>';
foreach ($links as $link) {
echo '<text>';
echo "<![CDATA[";
echo pq($link)->text();
echo "]]>";
echo '</text>';
echo '<url>';
echo pq($link)->attr('href');
echo '</url>';
}
echo '</notice>';
?>
争吵。