Php 如何判断字母是否为html实体?

Php 如何判断字母是否为html实体?,php,html-entities,Php,Html Entities,我对HTML实体感到困惑 我正在从远程数据库获取数据。为了存储空白,数据团队使用ISO-8859-1符号。因此,将空白存储为 现在,我正在查询这些数据,出于其他一些原因,我需要测试返回的字符是普通字符还是Html实体 我的解决方案是使用htmlspecialchars,如下所示: $ch = ' '; if(htmlspecialchars(' ') == $ch) echo 'same'; else echo 'not same'; 此代码将始终返回不相同

我对HTML实体感到困惑

我正在从远程数据库获取数据。为了存储空白,数据团队使用ISO-8859-1符号。因此,将空白存储为

现在,我正在查询这些数据,出于其他一些原因,我需要测试返回的字符是普通字符还是Html实体

我的解决方案是使用htmlspecialchars,如下所示:

$ch = ' ';

if(htmlspecialchars(' ') == $ch)
    echo 'same';
else
    echo 'not same';
此代码将始终返回不相同的结果

编辑

看完评论后,我将重新表述我的问题

给定一个像123456这样的字符串,从视觉上看,它将被解释为123456。那么,我怎样才能判断空白是一个空格还是一个不间断的空格呢

因此,我的问题是:如何获取空白空间的html实体?

您可能希望使用htmlspecialchars而不是htmlspecialchars,因为这将匹配更多字符,尽管这仍然不匹配空格字符,因为空格没有html实体

如果要匹配非打断空格,可以执行以下操作:

if(' ' == $ch)

这是因为正确的字符串应该是,带分号。普通空格没有HTML实体。最多会有数字符号,但那不是一个实体。还有↑. 不完全是一个空间。这是一个不间断的空格。@CBroe还行@Phiter,那是个打字错误,对不起!但还是不一样。