PHP:如何从不同服务器加载文件作为字符串?
我正在尝试从不同的域名加载 XML 文件作为字符串。 我想要的只是 << 中的文本数组。 标题>< /标题> xml 文件的标签,所以我想既然我使用 php4,最简单的方法就是对其进行正则表达式来获取它们。 有人可以解释一下如何将 XML 作为字符串加载吗? 谢谢!
I am trying to load an XML file from a different domain name as a string. All I want is an array of the text within the < title >< /title > tags of the xml file, so I am thinking since I am using php4 the easiest way would be to do a regex on it to get them. Can someone explain how to load the XML as a string? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以像下面的示例一样使用 cURL。 我应该补充一点,基于正则表达式的 XML 解析通常不是一个好主意,使用真正的解析器可能会更好,尤其是当它变得更加复杂时。
您可能还想添加一些正则表达式修饰符以使其跨多行工作等,但我认为问题更多是关于将内容提取到字符串中。
You could use cURL like the example below. I should add that regex-based XML parsing is generally not a good idea, and you may be better off using a real parser, especially if it gets any more complicated.
You may also want to add some regex modifiers to make it work across multiple lines etc., but I assume the question is more about fetching the content into a string.
第一次使用
file_get_contents('http://www.example.com/');
获取文件,
插入到变量。
解析xml后
链接是
http://php.net/manual/en/function.xml-parse。 php
评论里有例子
first use
file_get_contents('http://www.example.com/');
to get the file,
insert in to var.
after parse the xml
the link is
http://php.net/manual/en/function.xml-parse.php
have example in the comments
如果您要加载格式正确的 xml,请跳过基于字符的解析,并使用 DOM 函数:
如果由于 php 的设置方式而无法使用 DOMDocument::load(),则可以使用curl 来获取文件然后执行以下操作:
If you're loading well-formed xml, skip the character-based parsing, and use the DOM functions:
If you can't use DOMDocument::load() due to how php is set up, the use curl to grab the file and then do:
我将此函数作为一个片段:
它返回没有换行符、制表符、多个空格等的 HTML,只有 1 行。
所以现在你执行 preg_match:
并且 $matches[1] 将拥有你需要的信息。
I have this function as a snippet:
That returns the HTML with no linebreaks, tabs, multiple spaces, etc, only 1 line.
So now you do this preg_match:
and $matches[1] will have the info you need.