strip_tags足以从字符串中删除HTML?

时间:2012-02-21 02:54:30

标签: php html string strip-tags

网站用户可以在网站上注册,在注册期间,他可以提供名称。

我希望此名称是有效名称,并且不含任何HTML和其他时髦字符。 strip_tags是否足够用于此?

2 个答案:

答案 0 :(得分:4)

我发现没有单一的功能可以防止用户输入白痴。最好将几个混合在一起:

$val = trim($val);
$val = strip_tags($val);
$val = htmlentities($val, ENT_QUOTES, 'UTF-8'); // convert funky chars to html entities
$pat = array("\r\n", "\n\r", "\n", "\r"); // remove returns
$val = str_replace($pat, '', $val);
$pat = array('/^\s+/', '/\s{2,}/', '/\s+\$/'); // remove multiple whitespaces
$rep = array('', ' ', '');
$val = preg_replace($pat, $rep, $val);
$val = trim($val);
$val = mysql_real_escape_string($val); // excellent final step for MySQL entry

答案 1 :(得分:1)

正则表达式可以很好地适应更少的代码:

^[A-Z]'?[- a-zA-Z]( [a-zA-Z])*$

我们有很好的例子:

Regex for names