utf-8(PHP,str_replace)中是否有不同类型的双引号?
在 PHP 5.3 中,我试图替换字符串中的双引号,如下所示:
$bar = str_replace('"','\'',$foo);
但是保存在utf8数据库中的一些引号没有被替换,尽管它们看起来完全正常:
"Some text"
我必须搜索不同的字符类型吗?如果是,它们是什么?
在 PHP 5.3 中,我试图替换字符串中的双引号,如下所示:
$bar = str_replace('"','\'',$foo);
但是保存在utf8数据库中的一些引号没有被替换,尽管它们看起来完全正常:
"Some text"
我必须搜索不同的字符类型吗?如果是,它们是什么?
有许多字符看起来像引号,其中大多数很少使用。更常用的是以下三个:
" U+0022 QUOTATION MARK
“ U+201C LEFT DOUBLE QUOTATION MARK
” U+201D RIGHT DOUBLE QUOTATION MARK
一些更罕见的是全角引号,同上标记,双素数,双素数引号等。Unicode.org“混淆”工具找到 15 个与 “
.
你为什么不在这里复制并粘贴有问题的字符,以便我们可以识别它?或者,您可以使用十六进制函数来获取字符的十六进制编码,这是识别它的另一种方法。
能够使用“Unicode 字符的数字 HTML 编码”插入引号
http://www.utf8-chartable.de/unicode-utf8-table.pl?unicodeinhtml=dec&htmlent=1
Unicode代码点对我不起作用:
" U+0022 QUOTATION MARK
或者,这对我有用:
" " QUOTATION MARK