解释:
<p\b[^<>]*>
#\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)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)