我需要匹配所有这些开始标记:
<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)
但不是这些:
<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)
我想出了这个,并希望确保我做对了.我只抓住了a-z.
<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)
我相信它说:
/,然后我有这个权利吗?更重要的是,你怎么看?
如何使用PHP DOM从此标记中提取字符串"text"?
<div><span>notthis</span>text</div>
Run Code Online (Sandbox Code Playgroud)
$div->nodeValue 包括"notthis"
我试图使用nodeValue在文件中获取div标签的innerhtml,但是这段代码只输出纯文本,似乎从div中删除所有html标签.如何更改此代码以输出div的HTML内容而不是纯文本,并且还输出包含其子元素的主div.
例:
file.txt的内容:
<div class="1"><span class="test">text text text</span></div>
<div class="2"><span class="test">text text text</span></div>
<div class="3"><span class="test">text text text</span></div>
Run Code Online (Sandbox Code Playgroud)
script.php的:
$file= file_get_contents('file.txt');
$doc = new DOMDocument();
@$doc->loadHTML('<?xml encoding="UTF-8">'.$file);
$entries = $doc->getElementsByTagName('div');
for ($i=0;$i<$entries->length;$i++) {
$entry = $entries->item($i);
echo $entry->nodeValue;
}
Run Code Online (Sandbox Code Playgroud)
输出:文本文本文本文本文本文本文本文本
我需要它输出:
<div class="1"><span class="test">text text text</span></div>
<div class="2"><span class="test">text text text</span></div>
<div class="3"><span class="test">text text text</span></div>
Run Code Online (Sandbox Code Playgroud)
请注意,需要输出父div(..etc)以及包装span标签...
救命!