将<前>文本分解为键/值行


breaking up <pre> text to lines of key/value

我有以下HTML字符串。

<div id="mydiv">
<pre>
Some content several lines. 
   Field1: value 2
   Field2: value 2
   Field3: value 3
Some content. several lines.
</pre>
</div>

我正在尝试获取<pre>标签中的文本并将其分解为其字段,因此我使用 DomDocument() loadHTML() DOMXPathquery('//pre') 来获取<pre>的文本内容。

当我var_dump它的nodeValue时,我得到格式化的文本,就像使用 <pre> 显示一样。我不确定为什么会这样,但我想知道这是否可以以某种方式帮助我将文本分解为字段/值。

如果你只是想读它,那就这样做吧。

<?php
$preStr = ""; //Holds the pre-string.
$preArr = explode("'n", $preStr);
$pairs = array();
foreach ($preArr AS $line) {
  $line = trim($line);
  if (stristr($line, ':')) {
    list($key, $value) = explode(':', $line);
    $pairs[$key] = $value;
  }
}