2
HTML 문자열에서 모든 일반 텍스트 노드의 배열을 검색 할 수있는 방법이 있습니까? 나는 그것이 독립적으로 '중첩'요소를 검색하고 싶은, 그래서이 같은 문자열 :모든 텍스트 노드를 구문 분석하는 PHP DOM
<p>This is a <b>nested <i>HTML</i> tag<b>...</p>
별도의 요소로 This is a
, nested
, HTML
, tag
및 ...
로 검색 할 수있다.
$doc = new DOMDocument();
$doc->loadHTML($contents);
$doc->loadHTML("<p>not in the brackets..</p>");
$xpath = new DOMXPath($doc);
$textnodes = $xpath->evaluate('//text()');
echo '<pre>'.print_r($textnodes,1).'</pre>';die;
이 저를주고있다 : 인터넷 검색 및 SO 검색
는함께 코드의 혼란 조각 나를 이끌었다 내가 어떤 DOM 전에 개체를 사용한 적이
DOMNodeList Object
(
)
을 -도 있습니다 내 XPath 위대한 - 그래서 나는 물 밖으로 여기 아주 느낌! 어떤 도움을 주시면 감사하겠습니다.
DOM 개체에서'print_r' 또는'var_dump'로 작업 할 수 없습니다. 그들은 내부를 드러내지 않습니다. XPath가 정확합니다. 텍스트를 출력하려면'DOMNodeList'를'foreach ($ textnodes as $ textnodes) echo $ textnode-> wholeText;'로 반복하십시오. http://codepad.viper-7.com/7lsFRG – Gordon
항상 바보 같은 것들을보십시오! 고맙습니다. – Pete171