如何用正则表达式匹配每一个p标签?

如何用正则表达式匹配每一个p标签?,第1张

<p\b[^<>]*>.*?</p>

解释:

<p\b[^<>]*>

#<p>匹配标签p

#\b[^<>]*匹配标签p的属性,\b表示分隔符,[^<>]*匹配所有不是<>的字符

.*?#匹配<p>与</p>之间的内容,问号表示懒惰匹配,匹配尽可能少的字符,避免p标签配对错误。

</p> #匹配</p>

如果你所说匹配‘所有’p标签是指‘一次’匹配所有p标签,那么去掉问号,使用贪婪匹配就可以了

<p\b[^<>]*>.*</p>

你好,这个问题应该是不需要用正则的,因为四、五年没用asp了,查了一下资料ASP不像PHP有正则分割字符串功能,所以很难用正则处理这个问题。

不能使用正则,用字符串函数反而更有效的解决这个问题,下而这个代码原理很简单,相信你一看就明白了。

<%

str="喂<p>你</p>好<p>吗</p>?"

str=replace(str,"<p>","|")

str=replace(str,"</p>","|")

for each strArr in split(str,"|")

strTxt=strTxt+"<p>"&strArr&"</p>"

next

response.write strTxt

%>

之前也有同样的需求,把项目代码给你吧。

// 返回小发猫文章的图片数据

function replace_img_tag($contents, &$img_arr) {

$count = preg_match_all('/(<img[^>]+>)/i', $contents, $matches)

$keys = array()

foreach ($matches[0] as $key =>$value) {

# code...

$keys[] = ' 0x' . dechex($key+9500) . ' '

}

$img_arr = $matches[0]

return str_replace($matches[0], $keys, $contents)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11431270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存