有没有办法将XML属性保存为PHP变量并自动将其放在另一个http请求中?或者有更好的方法吗?
基本上,我向服务器发送一个http请求,我得到的代码看起来像这样:
<tag one="info" two="string">
我需要在属性2中保存字符串并将其插入一个类似于此的http请求中:
http://theserver.com/request?method=...&id=123456
'123456'ID必须是属性'two'中的字符串。
任何帮助将不胜感激!
谢谢, 简
答案 0 :(得分:3)
如果您100%完全绝对完全 确保内容始终具有该确切格式,则可以像其他答案所建议的那样使用正则表达式。< / p>
否则,DOM不是很难管理......
$dom = new DOMDocument;
$dom->loadXML($yourcontent);
$el = $dom->getElementsByTagName('A')->item(0); // presuming your tag is the only element in the document
if ($el) {
$id = $el->getAttribute('id');
}
$url = 'http://theserver.com/request?method=...&id=' . $id;
如果你有一个你将收到的XML的真实例子,请发布它,我会根据它调整这个答案。
答案 1 :(得分:1)
如果你可以......用JSON发送它。如果你不能,并且唯一返回的是wee片段,那么我将使用正则表达式来提取值。
/.*two="([^"]+)".*/
之类的东西应匹配所有内容,请将匹配替换为'$ 1'
否则使用simplexml。
答案 2 :(得分:1)
您可以使用:
<?php
$string = '<tag one="info" two="123456">';
if (preg_match('/<tag one="[^"]*" two=\"([^"]*)\">/',$string,$match)) {
$url = 'http://theserver.com/request?method=...&id=' . $match[1];
echo $url;
}
?>