试试这个
preg_replace('/([\s\S]*?<\/a>)/','',$str);
String regex = "(?a[^>]*>)";
String test1 = "
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(test1);
for(int i=0;m.find();i++){
String tmp = m.group();
System.out.println(tmp);
}
试试加一些长度限制{0,40}
或者用
simplehtmldom这个组件来获取所以的a标签,很方便
preg_replace('/*<\/a>/is','',$str);
1,过滤所有html标签的正则表达式:?[^>]+>
2,过滤所有html标签的属性的正则表达式:$html = preg_replace("/<([a-zA-Z]+)[^>]*>/","<\\1>",$html);
3,过滤部分html标签的正则表达式的排除式(比如排除
,即不过滤
):?[^pP/>]+> 等):?[aApPbB][^>]*>
4,过滤部分html标签的正则表达式的枚举式(比如需要过滤
5,过滤部分html标签的属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性):\s(?!alt)[a-zA-Z]+=[^\s]*