我有一个字符串(不是xml )
<headername>X-Mailer-Recptid</headername>
<headervalue>15772348</headervalue>
</header>
由此,我需要获得值15772348
,即headervalue
的值。怎么可能?
答案 0 :(得分:10)
使用PHP DOM并使用getElementsByTagName()
遍历headervalue
代码:
<?php
$doc = new DOMDocument;
@$doc->loadHTML('<headername>X-Mailer-Recptid</headername><headervalue>15772348</headervalue></header>');
$items = $doc->getElementsByTagName('headervalue');
for ($i = 0; $i < $items->length; $i++) {
echo $items->item($i)->nodeValue . "\n";
}
?>
这提供了以下输出:
15772348
[编辑]:代码已更新,以禁止关于无效的headername和headervalue标记的非HTML警告,因为它们实际上不是HTML标记。此外,如果您尝试将其加载为XML,则无法加载。
答案 1 :(得分:2)
这对我来说就像XML一样。无论如何,如果你不想将字符串解析为XML(这可能是一个好主意),你可以尝试这样的事情:
<?
$str = "<headervalue>15772348</headervalue>";
preg_match("/<headervalue\>([0-9]+)<\/headervalue>/", $str, $matches);
print_r($matches);
?>
答案 2 :(得分:1)
//找到字符串短路
function my_url_search($se_action_data)
{
// $regex = '/https?\:\/\/[^\" ]+/i';
$regex="/<headervalue\>([0-9]+)<\/headervalue>/"
preg_match_all($regex, $se_action_data, $matches);
$get_url=array_reverse($matches[0]);
return array_unique($get_url);
}
echo my_url_search($se_action_data)
答案 3 :(得分:1)
<?php
$html = new simple_html_dom();
$html = str_get_html("<headername>X-Mailer-Recptid</headername>headervalue>15772348</headervalue></header>"); // Use Html dom here
$get_value=$html->find("headervalue", 0)->plaintext;
echo $get_value;
?>
http://simplehtmldom.sourceforge.net/manual.htm#section_find