2016-04-15 118 views
1

目前我正在創建一個替換數組的單詞和字符的wordpress後meta。目標是預先過濾或替換單詞和代碼。用php代替機器代碼 - linebreak

我的代碼是這樣的

$replace_array["*"] = " "; 
$replace_array["!."] = "!"; 
$replace_array[" "] = " "; 
$replace_array["nbsp;"] = ". "; 
$replace_array["."] = ". "; 

輸出beeing使用一個JavaScript,雖然我是測試它,我遇到了一些機器代碼的問題。我目前不知道爲什麼,但其他腳本插入機器代碼到我的WordPress的元,這個問題是罕見的,但如果它發生它打破了我的整個JavaScript。因爲正常的bug應該只有 或simna內部沒有機器碼。

Example of the machine code

我的問題是 - 有沒有辦法用過濾出來我更換陣列或是否需要進行其他更改我的PHP腳本,因爲它不會與我目前的陣列成爲可能。

+0

這可能是一個編碼問題。檢查你的虛擬主機配置,.htaccess文件和數據庫配置。他們都必須以單一編碼工作。 – heximal

+1

你可以將文字轉換成一個體面的編輯器,讓你看到該角色的HEX代碼嗎? – RiggsFolly

+0

十六進制:我正在運行Nginx,這個問題非常少見,但我會檢查數據庫。 @RiggsFolly,我通過Winhex打開,並在它顯示HEX:0D0A的部分。我創造了一個形象,因爲我不知道我是否正確。 http://imgur.com/fyU02lf – Deex

回答

1

HEX 0D 0A是換新線,回車,沒什麼特別的。

添加到您更換陣列

$replace_array["\n"] = " "; 

爲了用空格或

$replace_array["\n"] = ''; 

取代它什麼也沒有

或者如果你是在UNIX上,也許這將是更好的替代

$replace_array["\r\n"] = " "; 

或者,也許它應該被替換爲<br>

+0

你用過什麼?你怎麼在你的代碼 – RiggsFolly

+0

後面使用'$ replace_array'啊..我測試了它的錯誤部分。它正在工作:) '$ replace_array [「\ r \ n」] =「」; $ replace_array [「\ n」] ='';'非常感謝! – Deex

+0

精彩,好消息 – RiggsFolly