2012-06-19 86 views
1

我遇到了一些麻煩郵件功能中的解碼&&PHP更換&>&不工作

這是代碼:

$betreff = $_REQUEST["Betreff"]; 
$betreffUTF8 = "=?UTF-8?B?".base64_encode($betreff)."?=";  
$betreffFinal = str_replace('$amp;', '&', $betreffUTF8); 

我敢肯定它應該像那個,但是由於某種原因它沒有。

有什麼想法?

更新: 是的,$ amp;只是一個錯字。

+0

'''(在'str_replace('$ amp' ...)在這裏抄錄錯字?或者它是你在代碼中尋找的問題嗎? – wallyk

+0

你的代碼有一個非常明顯的錯字,但我認爲 –

+2

在這種情況下'base64_encode'會返回&符號/'&'? –

回答

2

你不會找到一個base64_encode()編輯字符串內的任何& :)

$betreff = $_REQUEST["Betreff"]; 
$betreffClean = str_replace('&', '&', $betreff); 
$betreffUTF8 = "=?UTF-8?B?".base64_encode($betreffClean)."?=";  

我先更換&amp,然後應用base64_encode()扭轉操作。

+0

這樣做了!感謝您的高舉。 :) – Andreas

+0

@Andreas - 但我不明白爲什麼'&'是唯一需要解碼的HTML實體。確保你不只是破壞你的HTML。 –

3

它是&而不是$amp;

$betreffFinal = str_replace('&', '&', $betreffUTF8); 
1
$amp; 

你不是說

& 

相關問題