为什么这个正则这样写获取不到东西出来?只剩35分了。

北京薄凉 2016-12-06 07:45:21
想获取h2标签里面的文字内容,这个<h2></h2>里面可能有其他html标签,如<strong>,这样的话,我要如何才能真正获取到里面的文字内容呢?
$str = '<h2 class="archt">
<strong>我是里面的内容</strong></h2><h2 class="archt2">我是第2个内容</h2>';

preg_match_all('/<h2><strong>([^<]+)<\/strong><\/h2>/', $str, $arr);
我这样写,获取不到里面的文字内容。
...全文
135 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

    	$str = "<h2><strong>222</strong>333<em>111</em></h2>";
    	
    	$preg = '/(<\/?)(\w+)([^>]*>)/';
    	$str = preg_replace($preg, '', $str);
    	var_dump($str);
    	die;
输出: string(9) "222333111"
一起混吧 2016-12-07
  • 打赏
  • 举报
回复
preg_match_all('/<h2.*?>.*?(<[^>]+>)?([^<]+)(<\/[^>]+>)?<\/h2>/s', $str, $arr);
print_r($arr);
Array ( [0] => Array ( [0] => <h2 class="archt"> <strong>我是里面的内容</strong></h2> [1] => <h2 class="archt2">我是第2个内容</h2> ) [1] => Array ( [0] => <strong> [1] => ) [2] => Array ( [0] => 我是里面的内容 [1] => 我是第2个内容 ) [3] => Array ( [0] => </strong> [1] => ) )
北京薄凉 2016-12-06
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
$str = '<h2 class="archt">
<strong>我是里面的内容</strong></h2><h2 class="archt2">我是第2个内容</h2>';
preg_match_all('/<h2.*?>.*<strong>(.+)<\/strong><\/h2>/s', $str, $arr);
print_r($arr);
Array
(
    [0] => Array
        (
            [0] => <h2 class="archt">
<strong>我是里面的内容</strong></h2>
        )

    [1] => Array
        (
            [0] => 我是里面的内容
        )

)

谢谢版主大人,这样好像只能匹配到一个,后面那个h2下面没有strong的匹配不出来
xuzuning 2016-12-06
  • 打赏
  • 举报
回复
$str = '<h2 class="archt">
<strong>我是里面的内容</strong></h2><h2 class="archt2">我是第2个内容</h2>';
preg_match_all('/<h2.*?>.*<strong>(.+)<\/strong><\/h2>/s', $str, $arr);
print_r($arr);
Array
(
    [0] => Array
        (
            [0] => <h2 class="archt">
<strong>我是里面的内容</strong></h2>
        )

    [1] => Array
        (
            [0] => 我是里面的内容
        )

)

北京薄凉 2016-12-06
  • 打赏
  • 举报
回复
实在写不出来,可否帮帮我? 我这样写也不行 /<h2\s+[^>]*>\s([^<]+)<\/h2>/
komyluo 2016-12-06
  • 打赏
  • 举报
回复
注意空格的处理

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧