我很多年没有使用过PHP,我试图以一种需要高音单元名称的方式来操纵tweet的RSS源。我目前正在从TwitRSS提取RSS提要,并且除了高音单元的名称使用名称空间,所以元素都声称高音单元名称以外,它都工作正常。我在这个网站上看到了很多关于如何使用命名空间的主题,并且我尝试了所有这些都没有成功。如何用SimpleXML替换名称空间?
现在我的代码如下所示:
$newsoutput = new SimpleXMLElement('http://twitrss.me/twitter_search_to_rss/?term=php', LIBXML_NOCDATA, true);
$newsoutput = json_decode(json_encode($newsoutput), TRUE);
foreach ($newsoutput['channel']['item'] as $item) {
echo $item['title']."<br>".$item['description']."<br>".$item['link']."<br>".$item['guid']."<br>".$item['pubDate']."<br>";
echo $item['author']."br";}
那当然对所有正常的元素是回声的出正常工作,但每当我试图让该命名空间标记每次我试图解决导致错误消息在循环中。通常它与子元素为空有关。
现在我想尝试一种不同的解决方案。我想做一个字符串替换,它将改变每个命名空间元素与一个非命名空间元素。理想情况下,生成的RSS提要将使每个元素都被替换,然后正常回显出来。
我尝试添加的东西,如:
$newsoutput->str_replace("dc:creator","author","");
我在循环之前加入,因为我会假设,item元素的数组将有循环和echo'ing前的SimpleXML数组中被改变。我知道我所做的一个问题是php str_replace需要3个参数,我只能想到两个。我想要替换的词以及我想要替换的词。我还需要什么?我还认为,在运行新命名空间免费提要的循环之前,我可能必须运行循环来替换字符串。
哎呀,“高音单元名称”应与命名空间中的标签包围,但它得到了剥离出来 – XCon065
'str_replace'是一个全球性的功能。 ' - > str_replace'正在使用类方法。你反对做错了。 –
oops,作者被留在那里从以前的字符串替换尝试 – XCon065