Php 如何将引号(';,";)从特殊字符转换为常规字符,而其他标记保持特殊?
在我的字符串中有引号Php 如何将引号(';,";)从特殊字符转换为常规字符,而其他标记保持特殊?,php,html,tags,Php,Html,Tags,在我的字符串中有引号(',”)和 htmlspecialchars($str, ENT_QUOTES); 仅将单引号和双引号转换为常规文本。但不幸的是,它也在转换标记,>。因此,即使我 strip_tags("$desc","< b >< font >< i >< u >< br >"); 带标签($desc),“”; 这些允许的标记也显示为常规符号,而不是html标记 总之,我想将单引号和双引号显示为常规文本,并允许标记像
(',”)
和
htmlspecialchars($str, ENT_QUOTES);
仅将单引号和双引号转换为常规文本。但不幸的是,它也在转换标记,>
。因此,即使我
strip_tags("$desc","< b >< font >< i >< u >< br >");
带标签($desc),“
”;
这些允许的标记也显示为常规<和>
符号,而不是html标记
总之,我想将单引号和双引号显示为常规文本,并允许标记像html一样工作
谢谢。为什么不在htmlspecialchars()之前运行strip_tags() 样本:
<?php
$input = '<b>allowed tag</b> " <font>not allowed tag</font>';
// XXX
$tmp = htmlspecialchars($input, ENT_QUOTES);
$result = strip_tags($tmp, '<b>');
var_dump($result);
// string(78) "<b>allowed tag</b> " <font>not allowed tag</font>"
// Improved
$tmp = strip_tags($input, '<b>');
$result = htmlspecialchars($tmp, ENT_QUOTES);
var_dump($result);
// string(53) "<b>allowed tag</b> " not allowed tag"
如果它们是字符串,请尝试:str_replace(“'”,“,$desc)
它将删除所有”
。我不想删除它。我希望它们作为普通文本而不是特殊字符使用。那么,为什么不将“to”替换为