0
我的PHP代碼,應該刪除<和>,因爲它顯示在網站上從數據庫中,並防止欺騙活動PHP代碼不刪除< and >標籤
<?php
$acc_music = mysql_real_escape_string($_POST['acc_music']);
function strip_tags_content($text, $tags = '', $invert = FALSE) {
preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags);
$tags = array_unique($tags[1]);
if(is_array($tags) AND count($tags) > 0) {
if($invert == FALSE) {
return preg_replace('@<(?!(?:'. implode('|', $tags) .')\b)(\w+)\b.*?>.*?</\1>@si', '', $text);
}
else {
return preg_replace('@<('. implode('|', $tags) .')\b.*?>.*?</\1>@si', '', $text);
}
}
elseif($invert == FALSE) {
return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text);
}
return $text;
}
mysql_query("UPDATE users SET youtube_embed = '".strip_tags_content($acc_music)."' WHERE id = '" . $_SESSION['user']['id'] . "'")or die(mysql_error());
?>
的acc_music輸出被放在數據庫但不刪除<和>標記。
@rjdown似乎並沒有對我說此行爲作爲htmlspecialchars – fusion3k
@rjdown htmlspecialchars:'<'到'<',而不是'<'到'' – fusion3k
請發表一個原始文本/想要的轉換的例子嗎?您的代碼顯示爲'strip_tags'功能,但您的問題顯示爲''=>'a' – fusion3k