utf-8(PHP,str_replace)中是否有不同类型的双引号?

时间:2013-09-11 08:12:44

标签: php utf-8 quotes

在PHP 5.3中,我试图用字符串替换双引号:

$bar = str_replace('"','\'',$foo);

但是一些保存在utf8-Database中的引用并没有被替换,尽管它们看起来很正常:

"Some text"

我必须搜索不同的字符类型吗? 如果是这样,他们是谁?

4 个答案:

答案 0 :(得分:27)

有许多字符看起来像引号,大多数字符很少使用。更经常使用的是这三个:

"   U+0022 QUOTATION MARK
“   U+201C LEFT DOUBLE QUOTATION MARK
”   U+201D RIGHT DOUBLE QUOTATION MARK

一些罕见的是全速报价标记,DITTO MARK,DOUBLE PRIME,DOUBLE PRIME QUOTATION MARK等等。 Unicode.org“confusables”工具找到15 characters similar to "

为什么不在这里复制并粘贴有问题的字符,以便我们识别它?或者您可以使用HEX函数来获取字符的十六进制编码,这是识别它的另一种方式。

答案 1 :(得分:0)

Here是Utf-8中所有字符的列表。它可能是两个单引号..

答案 2 :(得分:0)

能够使用“Unicode字符的数字HTML编码”

插入引号

http://www.utf8-chartable.de/unicode-utf8-table.pl?unicodeinhtml=dec&htmlent=1

unicode代码点对我不起作用:

"   U+0022 QUOTATION MARK

或者,这对我有用:

"   "  QUOTATION MARK

答案 3 :(得分:0)

我正在搜索 Double low quote 字符,但上面的答案中没有列出。终于找到了,所以我分享一下以节省一些时间:

„ 一个不错的引述 ”

„ = Double low quote / „ / „ / „ / U+201E

” = Right Double Quotation / ” / ” / ” / U+201D