14

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

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

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

"Some text"

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

4

3 回答 3

35

有很多字符看起来像引号,其中大多数不经常使用。用得比较多的是这三个:

"   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 函数来获取字符的十六进制编码,这是识别它的另一种方式。

于 2013-09-11T11:30:25.660 回答
0

我正在寻找该Double low quote角色,但未在上述答案中列出。终于找到了,所以我分享它以节省一些时间:

„ 一个很好的报价“</h1>

„ =双低报价/ &bdquo;/ &#8222;/ &#x201E;/U+201E

” =右双引号/ &rdquo;/ &#8221;/ &#x201D;/U+201D

于 2021-02-04T14:26:13.027 回答
0

能够使用“Unicode 字符的数字 HTML 编码”插入引号

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

unicode 代码点对我不起作用:

"   U+0022 QUOTATION MARK

或者,这对我有用:

"   &#34;  QUOTATION MARK
于 2017-08-11T00:57:59.053 回答