加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式使用PHP匹配HTML标记

发布时间:2020-12-14 06:31:18 所属栏目:百科 来源:网络整理
导读:我有这样的内容 psome content,paragraph 1/ppsome content,paragraph 2/ppsome content,paragraph 3/p 我想返回第一段,即 psome content,paragraph 1/p 任何人都可以帮助我使用正则表达式代码吗? ‘LT p为H.;LT(*); / p为H.’似乎没有用 你可以这样做: if
我有这样的内容
<p>some content,paragraph 1</p>
<p>some content,paragraph 2</p>
<p>some content,paragraph 3</p>

我想返回第一段,即

<p>some content,paragraph 1</p>

任何人都可以帮助我使用正则表达式代码吗?
‘&LT p为H.;&LT(*); / p为H.’似乎没有用

你可以这样做:
if (preg_match('%(<p[^>]*>.*?</p>)%i',$subject,$regs)) {
    $result = $regs[1];
} else {
    $result = "";
}

你根据常规表达式测试你的字符串,如果有一些匹配,你得到第一个,只得到第一个,如果没有,$result将是一个空字符串.

如果你需要获得超过第一个结果,你可以迭代$regs数组.而且你需要找到任何其他标签更改常规expresión来加工它,例如找到你使用的IMAGE标签:

(<img[^>]*>.*?</img>)

编辑:如果你是逐行处理(只有你正在寻找的标签),你可以在表达式周围放置^ … $以匹配一个完整的行,如下所示:

if (preg_match('%^(<p[^>]*>.*?</p>)$%im',$regs)) {
    $result = $regs[1];
} else {
    $result = "";
}

HTH,问候.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读