相关疑难解决方法(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中的html页面中删除H2和H3标签?

我需要从下面的html代码中获取h2和h3标签为PHP中的$ var:

<div class="main-info">
   <img class="iphone-img" alt="" src="https://www.myweb.com/securedImage.jsp">
        <div class="sub-info">
                <h2 class="model">iPhone 4S</h2>
                <h3 class="capacity color">16GB Black</h3>
          </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要这个结果:

echo $model; // Should echo:  'iPhone 4S'
echo $capacitycolour; // Should echo: '16GB Black'
Run Code Online (Sandbox Code Playgroud)

我试图用preg_match,preg_match_allgetElementsByTagName但至今没有运气.

这是我试过的代码:

$pattern = '/[^\n]h2*[^\n]*/';
preg_match_all($pattern,$data, $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);
Run Code Online (Sandbox Code Playgroud)

和:

$doc = new DOMDocument();
$doc->loadHTML($data);
$tags = $doc->getElementsByTagName('sub-info');

$root = $doc->documentElement;
foreach($root->childNodes as $node){
    $attributes[$node->nodeName] = $node->nodeValue;
}

var_dump($attributes);
Run Code Online (Sandbox Code Playgroud)

php

4
推荐指数
1
解决办法
1919
查看次数

标签 统计

html ×1

php ×1

regex ×1

xhtml ×1