PHP:获得" SSA"而不是" SSA"

时间:2016-01-12 07:58:39

标签: php html apache

我在使用数据库中的PHP显示某些数据时出现问题。

目前的表现如何 - " SSA' s"

它应该如何显示" SSA"

HTML元标记

meta charset="UTF-8">

PHP代码

$article_title = html_entity_decode(mb_convert_encoding(stripslashes($r->ArticleTitle), "HTML-ENTITIES", 'UTF-8'));

3 个答案:

答案 0 :(得分:1)

删除html_entity_decode函数,因为您要对HTML-ENTITIES进行双重编码

正如@ChrisBanks指出的那样,你也不需要stripslashes

答案 1 :(得分:1)

您需要再次调用html_entity_decode,因为数据存储为双重编码并删除stripslashes

$article_title = html_entity_decode(html_entity_decode(mb_convert_encoding($r->ArticleTitle, "HTML-ENTITIES", 'UTF-8')));

您可能想要首先研究数据如何以双重编码的形式存储在数据库中。也许htmlentities在某个地方被召唤两次。

添加评论:

您不应该存储HTML编码的数据,除非出于某种原因您真正需要(可能有某些情况需要您)。只有在输出和网页上呈现时,您才想使用htmlentities

答案 2 :(得分:1)

您可以decode使用这两种方法html_entity_decode()htmlspecialchars_decode()

基本示例:

$string = html_entity_decode("SSA's");
echo $string; // result SSA's

$string = htmlspecialchars_decode("SSA's");
echo $string; // result SSA's