function erase_tag($str){
$str = preg_replace('/<[^>]+>/i'," ",$str);
$str = preg_replace("/\s\s/"," ",$str);
return $str;
}
答案 0 :(得分:4)
preg_replace
使用正则表达式:
/<[^>]+>/i
<
- 文字<
[^>]+
- 任何不符合的字符(^
)>
匹配1到无穷大时间(即+
) >
- 文字>
它用空格替换HTML标记(或<....>
内的任何其他内容)。 i
是一个“区分大小写”修饰符,并且在此正则表达式中没有任何意义,因为我们不使用任何字母。另一种方法是构建strip_tags()
函数。
/\s\s/
\s
- 一个空白字符 \s
- 一个空白字符 它用一个空格替换彼此之后的两个空格(制表符,换行符,空格)。就个人而言,我更喜欢{1}}匹配1与无限量的白色空格相互匹配。