str_replace特殊撇号不起作用

时间:2015-08-28 13:09:03

标签: php str-replace apostrophe

我有一个带有奇怪撇号的文字,这不在我的键盘上。我需要在代码中替换它,但它不会发生。代码就像这样:

$proj_copy="(Along Sixth Avenue)’ Project Description Designed";
$proj_copy=str_replace("’","X",$proj_copy);

如果我将搜索到的字符替换为任何其他字符,则可行。 有什么想法吗?

由于

4 个答案:

答案 0 :(得分:0)

您可以反过来执行此操作,只删除所有不在您定义的字符集中的字符。你可以用正则表达式做到这一点。 看这里:Replace special chars with regex

答案 1 :(得分:0)

尝试这个,如果它对你有用....

str_replace("\"",""",str_replace("'","''",$proj_copy))

这可能会有所帮助

答案 2 :(得分:0)

如您的问题所示,您的代码可以使用。

但是你必须确保PHP源代码的文件编码是UTF-8。如果没有,根据您的编辑器,您可能会看到正确的撇号字符,而不会将其实际存储在磁盘上。如果您关闭文件并重新打开它,您可能会看到该字符已消失或出现乱码。这意味着您的编码错误。

答案 3 :(得分:0)

确保您的字符串使用与源代码相同的字符集进行编码。您的代码应该有效(如果字符串在文件中)。