这样的问题,有一个 php 脚本可以将数据从 RSS 解析到我的站点。
function getFeed($feed_url)
{
error_reporting(E_ALL & ~E_WARNING);
try {
$content = file_get_contents($feed_url);
$x = new SimpleXmlElement($content);
echo "<center style='color:red; margin:-5px 0;'><h3>" . $x->channel->title . "</h3></center>";
echo "<ul>";
foreach($x->channel->item as $entry) {
echo "<li>
<a href='$entry->link' title='$entry->title'>" . $entry->title . "</a><br>
<b style='color:#ce0a8a;'>Дата публикации: <span style='color:#199104;'>" . $entry->pubDate . "</span></b><br>
<span>" . $entry->description . "</span>
</li><hr size='3' noshade>";
}
echo "</ul>";
}
catch (Exception $e) {
echo "<div style='margin:5px 0 16px;'>
<b style='font-size:18px; margin:0 10px; color:red;'>Не удалось обработать RSS ленту. Возможно, вы ввели неверный адрес. Попробуйте ввести другой адрес.</b><hr size='2' noshade>
</div>";
}
}
这个脚本可以工作,但是当你给它提供一个指向 RSS 的链接时,如果有错别字(例如,它"e;
写成而不是"e,
),就会弹出一个解析错误。
问题 - 如何替换表单的所有特殊字符&(...),
上&(...);
?我无权编辑包含拼写错误的 XML 文件。但是你需要阅读它。
在 $need 和 $repl 数组中,分别添加搜索和替换值:
使用正则表达式:
如果满足以下条件,则模式匹配子字符串:
&
\pL+
,