2016-08-05 65 views
-1

我有一个包含这个文本文件; “我不知道”角色。已经在谷歌搜索,但我很难得到所需的搜索结果,因为我不知道什么是这种字符的总称。如何删除文本文件中的未知字符?

enter image description here

我尝试了用下面的代码,但没有任何反应去除。我也尝试过“\ f”,因​​为我认为这个角色是换页,但仍然无法删除。

$replace = str_replace("\0", ' ', $str); 

编辑:

的上述文字是真正形成饲料,但不知何故下面的代码是不是为我工作。

$replace = str_replace("\f", ' ', $str); 
+0

http://stackoverflow.com/questions/8781911/remove-non-ascii-characters-from-string-in-php –

+0

@HankyPanky非常感谢你。我也不需要删除ñ – Ceeee

+0

@HankyPanky你能解释你为什么downvoted? – Ceeee

回答

0

我不知道为什么,但使用str_replace工作不去除“FF”(换页)字符

$replace = str_replace("\f", ' ', $str); // not working 

使用下面的代码解决了我的问题,但也有点不好看,因为它是使用正则表达式仅替换单个字符。不过,这个工程:

$replace = preg_replace('/[\f]/', " ", $str); 
-1

似乎与您的标题问题。添加此标题后尝试一次。

header('Content-Type: text/html; charset=UTF-8'); 

希望这有助于

+0

谢谢先生,帮助我,但这不是我正在寻找的答案。 :) – Ceeee

1

可以使用prep_replace命令来执行正则表达式搜索和替换。

$replace = preg_replace('/[^A-Za-z0-9 _\-\+\&]/', '',$str); 

注意:您需要的第一个参数决定了的preg_replace函数调用的一组你不想不想要的字符。您可能有兴趣删除不可打印的字符。

+0

非常感谢主席先生。我也试过这个,但是当我使用这个时,'NUL'字符和'FF'仍然显示。我会尝试其他正则表达式模式,并再次感谢你 – Ceeee