簡體   English   中英

strip_tags足以從字符串中刪除HTML?

[英]strip_tags enough to remove HTML from string?

站點用戶可以在站點上注冊,並且在注冊期間可以提供名稱。

我希望此名稱是有效名稱,並且不包含任何HTML和其他時髦字符。 strip_tags夠嗎?

我發現沒有用於愚蠢的用戶輸入的單一功能。 最好將一些混合在一起:

$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

正則表達式可以用更少的代碼很好地適應:

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

這里有很好的例子:

正則表達式的名稱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM