contenttext=preg_replace('/<a\s*href="\/tag[^\s>]+"\s*[^>]*>([^<>]*)<\/a>/is',"$1",$contenttext);
可参照以下说明:<a\b[^>]*\bhref=([^\s>]+)[^>]*>[\s\S]*?([^<>]*)</a>
解释:<a\b #匹配a标签的开始[^>]* #匹配a标签href属性前的其他属性\bhref=([^\s>]+) #匹配href属性,并将匹配到的内容捕获到分组1当中[^>]*> #匹配a标签的结束[\s\S]*? #匹配a标签文本前的img标签([^<>]*) #匹配a标签文本并捕获到分组2当中</a> #匹配a标签的关闭分组1和分组2即为所需内容简化版:<a\s*href=([^>]+)><img[^>]+>([^>]+)</a>实际上简化版可能效率更高……因为严格按照原文本格式来匹配。
猜你喜欢