2014-03-19 34 views
0

我使用encodeURIComponent()(和encodeURI()用於電子郵件)從用戶安全地獲取輸入,然後通過ajax將輸出發送到php。 PHP處理它,並把這個逃脫的蜇成一個$_SESSION[],然後我後來到echo。我想知道是否可以正常打印到html,然後讓html忽略它內部的任何代碼(例如,將被視爲文本而不是標籤),或者甚至結合這兩個步驟。我認爲JavaScript編碼的格式與PHP不同,所以這可能是一個問題,但如果是這樣的話,那麼在php中更改這些響應的最佳方式是什麼(我將這些轉義字符串存儲在MySQL中)?打印JavaScript在PHP中安全地轉義字符串

在此先感謝。

+0

爲什麼你需要做到這一點的Javascript?在嘗試執行之前,您可以簡單地在PHP中執行此操作。你不能只是'htmlspecialchars()'? – aug

+0

這就是我最終做的,我通常回答我自己的問題,如果有人dosent沒有在2小時內發佈...... – Ozay34

回答

-1

這些函數是我在使用php處理字符串時使用的函數。

另存爲保存到數據庫中,

編輯在輸入/編輯文本域

節目是寫出來顯示代碼,如HTML文本。

// SAVE DATA 
function save($str) 
{ 
    return mysql_real_escape_string($str); 
} 
//############################################################################ 
// EDIT DATA 
function edit($str) 
{ 
    $patterns[0] = '/</'; 
    $patterns[1] = '/>/'; 
    $patterns[2] = '/"/'; 
    $patterns[3] = "/'/"; 
    $replacements[0] = '&#60;'; 
    $replacements[1] = '&#62;'; 
    $replacements[2] = '&#34;'; 
    $replacements[3] = '&#39;'; 
    $str = preg_replace($patterns, $replacements, $str); 
    $str = trim($str); 
    return stripslashes(stripslashes(str_replace('\r\n', ' 
', $str))); 
} 
//############################################################################ 
// SHOW DATA 
function show($str) 
{ 
    $patterns[0] = '/</'; 
    $patterns[1] = '/>/'; 
    $patterns[2] = '/"/'; 
    $patterns[3] = "/'/"; 
    $replacements[0] = '&#60;'; 
    $replacements[1] = '&#62;'; 
    $replacements[2] = '&#34;'; 
    $replacements[3] = '&#39;'; 
    $str = preg_replace($patterns, $replacements, $str); 
    $str = trim($str); 
    return stripslashes(stripslashes(str_replace(' 
', '<br />', $str))); 
} 

發揮它四周,看看它是否適合你:)

+0

謝謝你的迴應,但我只是在PHP編碼的字符串,而不是。 – Ozay34