从字符串中删除特殊的非标准字符

时间:2012-10-16 11:41:06

标签: php mysql special-characters

我有这个字符串”Good morning, Dave”。此字符串包含两个非标准双引号。

每当我尝试插入数据库表时,它都会转换为此字符串%u201DGoodmorning,Dave%u201D

我尝试使用preg_replace替换此类字符,但它们没有帮助。这是我尝试过的

1) preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $String);
2) preg_replace('#[^\w()/.%\-&]#',"",$string);

我也尝试mysql_real_escape_string,但也没有帮助。我怎么能这样做?

3 个答案:

答案 0 :(得分:0)

试试这个:

urldecode($string);

而不是自己使用字符串。

答案 1 :(得分:0)

你试过str_replace吗? format是(要替换的项目,替换为,字符串,该项目位于。

答案 2 :(得分:0)

我想你差不多了。 0x201D是unicode字符“RIGHT DOUBLE QUOTATION MARK”

请参阅http://www.fileformat.info/info/unicode/char/201d/index.htm

所以你可以试试......

preg_replace('/\\X201d/', '', $String);