我從文件中抓取輸入下面的代碼爲什麼php trim不是真的刪除所有的空白和換行符?
$jap= str_replace("\n","",addslashes(strtolower(trim(fgets($fh), " \t\n\r"))));
我也事先嚐試了這些在排除
$jap= str_replace("\n","",addslashes(strtolower(trim(fgets($fh)))));
$jap= addslashes(strtolower(trim(fgets($fh), " \t\n\r")));
,如果我回聲$ JAP它看起來很好,所以在後面的代碼,沒有任何其他改動$ JAP它插入到數據庫,但是我注意到一個對比測試來檢查,如果這個日本鬼子已經在DB返回false時,我可以清楚地看到,JAP的一個看似完全一樣的條目是在DB 。所以我複製插入正確的phpmyadmin從或者從我的網站在顯示JAP並粘貼到記事本我注意到它粘貼這樣的JAP項...(這是一種精確粘貼到下面引號)
「
バスにのって,うみへ行きました」
,顯然我需要的,它沒有說白了空間和休息或不管它是什麼。
所以據我可以告訴微調是沒有做什麼它說到做到。或者在這裏錯過了一些東西如果是的話是什麼?
UPDATE: 至於傑克回答
preg_replace函數沒有幫助,但這裏是我做什麼,我所用的 BIN2HEX()來確定該部分說:「這不是我想要的部分」是 efbbbf 我這樣做,採取JAP $到海峽替換和刪除我期待找到日語,還剩下什麼進入BIN2HEX。其結果是上面的「efbbbf」
echo bin2hex(str_replace("どちらがあなたの本ですか","",$jap));
以上的產量efbbbf 但它是什麼?我可以讓str_replace刪除這個不知何故?
那是什麼'addslashes'呢?並且請不要說它是針對數據庫的。 – mario
你是否試過'trim($ str)',沒有第二個參數?按[手動](http://php.net/trim),您的版本將不會刪除NUL字節和垂直選項卡(無論是「垂直標籤」是...)[裁剪unicode的空白在 – bfavaretto
可能重複PHP的5.2](http://stackoverflow.com/questions/4166896/trim-unicode-whitespace-in-php-5-2) – mario