在php中删除字符串中的特殊字符

在php中删除字符串中的特殊字符,php,unicode,Php,Unicode,我有一些文字如下: $cnt = "header text� first line � The second line � other line �" 我是否可以删除所有特殊文本,如�在我的字符串中? 我使用了$cnt=str\u replace(“�", "", $cnt); 但一切都没有改变 您能帮助我吗?您的目标字符编码是什么?您可能需要从字符串中删除所有非UTF-8字符。请参阅此处: 试试这个 $str = str_replace("\xEF\xBB\xBF",'',$str);

我有一些文字如下:

$cnt = "header text�
first line
�

The second line

�

other line
�"
我是否可以删除所有特殊文本,如
在我的字符串中?
我使用了
$cnt=str\u replace(“�", "", $cnt);
但一切都没有改变


您能帮助我吗?

您的目标字符编码是什么?您可能需要从字符串中删除所有非UTF-8字符。请参阅此处:

试试这个

$str = str_replace("\xEF\xBB\xBF",'',$str); 

它删除了utf-8 bom(字节顺序标记)字符。

我觉得字符编码混乱…可能是在将值存储在数据库中时产生的。。在存储它们之前,您应该使用
utf8\u编码($myval);
。看起来像是断线。(换行符通常是
\r\n
\n
字符分隔符。)字符串是从哪里获得的?嗨,罗伯特,我尝试了你的建议,但越南语字符串会显示为“Bá»nh doÄn uá»ng“嗨,Guffa,字符串是从一些pages@NguyenBui你是如何读取字符串的?你是从文件中读取的吗?它是来自用户输入的吗?我需要使用UTF-8用于越南语:BOM只在文件的开头,而不是在中间。@ Guffa感谢分享。但是上面的语句从PHP字符串中删除了特殊字符。