相关疑难解决方法(0)

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<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)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

在PHP DOM中获取节点的文本

如何使用PHP DOM从此标记中提取字符串"text"?

<div><span>notthis</span>text</div>
Run Code Online (Sandbox Code Playgroud)

$div->nodeValue 包括"notthis"

html php xml dom

27
推荐指数
2
解决办法
4万
查看次数

PHP DOM得到nodevalue html?(没有剥离标签)

我试图使用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标签...

救命!

html php dom

22
推荐指数
2
解决办法
2万
查看次数

标签 统计

html ×3

dom ×2

php ×2

regex ×1

xhtml ×1

xml ×1