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

前端之家收集整理的这篇文章主要介绍了正则表达式使用PHP匹配HTML标记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的内容
<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,问候.

猜你在找的正则表达式相关文章