0

HTML ドキュメントを解析して、タグからテキスト値を取得しようとしていますが、問題は、タグに特別な属性が含まれていないか、それらを対象とする ID がないことです。- に固定できる唯一のものは、ラベルとして使用される別の静的テキストです。

ソース ページ コードは次のようになります。

 <tr>
<td>
  <span> 
    Some text to link to
  </span>
 </td>
 <td>
  <span> 
    THE text to get
  </span>
 </td>
</tr>

/*****************Parser Page Script*************************/
$file = "src/src.htm";
$doc = new DOMDocument();
$doc->loadHTMLFile($file);

/********* Page that Processes *********/
//Pattern for regEx
$pattern = "/Some text to link to/";

$elements = $doc->getElementsByTagName('td');

if (!is_null($elements)) {
foreach ($elements as  $node){
  $text = $node->textContent;

 if(preg_match($pattern, $text, $matches)){
        echo "<pre>";
         print_r($node);
        echo "</pre>";

     }
    }
   }

結果が [nextSibling] => (オブジェクト値省略) の場合、検索された td の nextSibling 値を取得する方法は?

4

1 に答える 1

0

Xpath を使用する可能性があります。xpath の例: /table/tr/td/span

$file = "src/src.htm";
$doc = new DOMDocument();
$doc->loadHTMLFile($file);


$xpath = new DOMXpath($doc);
$elements = $xpath->query('/table/tr/td/span');
if(!empty($elements))
{   
    foreach($elements as $element)
    {   
        echo $element->nodeValue;
    }
}
于 2014-08-05T14:13:12.090 に答える