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