PHP DOMを使用してこのマークアップから「text」という文字列を抽出するにはどうすればよいですか?PHP DOMでノードのテキストを取得する
<div><span>notthis</span>text</div>
$div->nodeValue
限り、あなたがDOMに影響を与えることができるよう、あなたはspan
ことを取り除くことができ、 "notthis"
PHP DOMを使用してこのマークアップから「text」という文字列を抽出するにはどうすればよいですか?PHP DOMでノードのテキストを取得する
<div><span>notthis</span>text</div>
$div->nodeValue
限り、あなたがDOMに影響を与えることができるよう、あなたはspan
ことを取り除くことができ、 "notthis"
が含まれています。
$span = $div->getElementsByTagName('span')->item(0);
$div->removeChild($span);
$nodeValue = $div->nodeValue;
また、$div
のテキストノードにアクセスするだけです。
foreach($div->childNodes as $node) {
if ($node->nodeType != XML_TEXT_NODE) {
continue;
}
$nodeValue = $node;
}
あなたはより多くのテキストノードで終わる場合のみは$nodeValue
の、次のことができbreak
後の最初の割り当て最初にしたいです。
あなたは、XPathを使用して直接DOMText
ノードにアクセスすることができます。
$xpath = new DOMXPath($dom_document);
$node = $xpath->query('//div/text()')->item(0);
echo $node->textContent; // text