从PHP手动复制和编程生成的源代码中读取XML的区别

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了从PHP手动复制和编程生成的源代码中读取XML的区别脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 XML文件进行 PHP编码,其代码我手动复制,看起来像

<tITle tyPE='text'>content I've extracted</title>
<content type='text'>content I've extracted</content>

现在一切都已完成,当我通过PHP编码生成内容时,当我尝试从标题内容标签提取内容时,不会生成输出…当我交叉检查时,我发现了PHP生成文件(源代码,RSS提要) )好像

<title type=\'text\'>content to be extracted </title>
<content type=\'text\'>content to be extracted</content>

我猜,由于存在反斜杠,因此无法提取内容

我用来从这些标签获取内容的示例PHP代码

$titles = $entry->getelementsbytagname( "title" );
  $title = $titles->item(0)->nodeValue;

  $descrs = $entry->getElementsByTagName( "content" );
  $descr = $descrs->item(0)->nodeValue;

我该怎么办?

这是我用来生成XML的PHP​​代码

$url='http://gdata.youtube.COM/Feeds/api/playlists/12345';
$fp = fopen($url,'r'); 
$buffer='';
if ($fp) {
while (!feof($fp))
$buffer .= fgets($fp,1024);
fclose($fp);
file_put_contents('Feed.xML',$buffer);

找到了解决方

$buff=stripslashes($buffer);
file_put_contents('ka.xml',$buff);

所以stripslashes()函数删除反斜杠,它的工作原理

解决方法

看起来你已经启用了 magic quotes.

因此,当您使用fgets读取文件时,任何引号都将被转义. Magic Quotes自PHP 5.3起已弃用.您不应该在脚本中使用它们.

另见@L_404_3@

在旁注中,您复制文件方法要比它需要的复杂得多.所有这些都可以用于将远程XML保存到文件

$src = 'http://gdata.youtube.com/Feeds/api/playlists/E6DE6EC9A373AF57?v=2';
copy($src,'dest.xml');

要么

$src = 'http://gdata.youtube.com/Feeds/api/playlists/E6DE6EC9A373AF57?v=2';
file_put_contents('dest.xml',file_get_contents($src));

要么

$src = 'http://gdata.youtube.com/Feeds/api/playlists/E6DE6EC9A373AF57?v=2';
stream_copy_to_stream(fopen($src,'r'),fopen('dest.xml','w+'));

脚本宝典总结

以上是脚本宝典为你收集整理的从PHP手动复制和编程生成的源代码中读取XML的区别全部内容,希望文章能够帮你解决从PHP手动复制和编程生成的源代码中读取XML的区别所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。