2015-04-06 69 views
-3

我想了一個小時,使替換工作。真的沒有理由不應該工作,但它不工作。Php替換似乎不工作

echo $title22; 
$title22 = str_replace('–','dsdas',$title22); 
echo $title22; 

輸出:

Something – something else 
Something – something else 

我猜,我使用一種錯誤的這個符號: - ,但我已經嘗試過在我的鍵盤和桌面兩個選項,他們沒有工作。替換是否與符號一起工作?

+0

你試過複製粘貼字符嗎?你確定它沒有以某種方式編碼嗎?你檢查了源代碼嗎? – PeeHaa 2015-04-06 01:16:53

+0

這是我做的第一件事。這是一個WordPress的帖子的標題,我從編輯器以及輸出頁面複製了該符號。沒有運氣。 – Brana 2015-04-06 01:17:11

+0

我不知道編碼。 – Brana 2015-04-06 01:18:49

回答

0

這裏是什麼在起作用:

$title22 = urlencode($title22); 
$title22 = str_replace("%26%238211%3B", "thisqqqqqsymbol", $title22); 
$title22 = urldecode($title22);   
$title22 = str_replace("thisqqqqqsymbol", $color."-", $title22); 

我不知道什麼%26%238211%3B是。我猜想有什麼東西壞了

此外,這是一個通用的解決方案,用於像這樣的奇怪字符的問題。

0

的 - 不等於 - 人物: 試試這個:

$title22='Something – something else'; 
echo $title22; 
$title22 = str_replace('–','dsdas',$title22); 
echo $title22; 

輸出:

Something – something else 
Something dsdas something else 
+0

我已經嘗試 - 和 - 。在兩種情況下都不會被替換。 – Brana 2015-04-06 01:25:03

+0

請運行我的示例,該工作(我在發佈之前在我的系統上測試過) – 2015-04-06 01:26:44

+0

示例有效,但在我的網站上不起作用。我認爲,PHP有時真的很糟糕,無法正常工作。 – Brana 2015-04-06 01:30:34