如何从字符串中查找特定值

Lin*_*P D 2 php string parsing find

我有一个字符串(不是xml)

<headername>X-Mailer-Recptid</headername>
<headervalue>15772348</headervalue>
</header>
Run Code Online (Sandbox Code Playgroud)

从这里,我需要得到价值15772348,即价值headervalue.怎么可能?

sha*_*mar 10

使用PHP DOMheadervalue使用getElementsByTagName()以下代码遍历标记:

<?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";
}
?>
Run Code Online (Sandbox Code Playgroud)

这给出了以下输出:

15772348

[编辑]:更新代码以禁止关于无效headername和headervalue标记的非HTML警告,因为它们实际上不是HTML标记.此外,如果您尝试将其加载为XML,则完全无法加载.

  • +1解析它的解析方式. (3认同)