我不能使用PHP';s strip_标签功能与另一个功能
我对PHP的我不能使用PHP';s strip_标签功能与另一个功能,php,string,strip-tags,Php,String,Strip Tags,我对PHP的strip\u标签函数有问题。我有一个列表,其中包括一个html标签的白名单。该列表由以下函数生成: setAllowedHtmlTags(); 此函数的输出为: "<a><table><br>" 这是我的功能: function setAllowedHtmlTags() { $db = new PDO('mysql:host=' . host . ';dbname=' . DBNAME_SCHEMA, user, pass
strip\u标签
函数有问题。我有一个列表,其中包括一个html标签的白名单。该列表由以下函数生成:
setAllowedHtmlTags();
此函数的输出为:
"<a><table><br>"
这是我的功能:
function setAllowedHtmlTags()
{
$db = new PDO('mysql:host=' . host . ';dbname=' . DBNAME_SCHEMA, user, password);
$sql = "SELECT html_tag FROM allowed_html_tags_table";
$query = $db->query($sql);
$tagList = "";
if ($query->rowCount()){
foreach($query as $row){
$tagList .= $row['html_tag'];
}
}
return htmlentities($tagList);
}
但它不起作用
strip_标签
函数删除所有html标签,包括我的白名单中的地雷。你能帮我解决这个问题吗?你的函数setAllowedHtmlTags()
真的返回了你告诉我们的吗?
尝试var_转储(setAllowedHtmlTags())
查看函数真正返回的内容
或者您想调用getAllowedHtmlTags()?好的,我发现了问题,用html_entity_decode()函数返回值,而不是用HtmlEntity()函数返回值对我有效。添加
setAllowedHtmlTags
函数的代码不是很重要,但为什么要使用函数只返回“
”
,为什么不设置一个常量
或其他什么。猜测:设置允许的HTMLTAGS
回显
字符串,而不返回
它…?因为我从数据库获取了所有字符串。它返回的正是我期望的字符串。是的,它返回的正是我期望的字符串。
function setAllowedHtmlTags()
{
$db = new PDO('mysql:host=' . host . ';dbname=' . DBNAME_SCHEMA, user, password);
$sql = "SELECT html_tag FROM allowed_html_tags_table";
$query = $db->query($sql);
$tagList = "";
if ($query->rowCount()){
foreach($query as $row){
$tagList .= $row['html_tag'];
}
}
return htmlentities($tagList);
}