2015-02-08 153 views
0

所以我試圖刪除一個反斜槓(存儲在數據庫中的例子 - 它是怎麼回事)。刪除str_replace反斜槓

我想要做的是刪除反斜槓並保持換行符和空格。

我知道,這樣做的伎倆:

str_replace('\\', '', $string); 

但問題是,我有另外兩個表達式藏漢所以現在我有:

str_replace('\\r\\n', "\r\n", $string); 

如何以及在哪裏我把第二個例子中的'\\',''沒有干擾換行符?

我只是試過str_replace('\\r\\n\\', "\r\n ', $string)等等,但我不能讓它工作而不會弄亂換行符。

任何人可以幫助我嗎?

編輯:

我現在要輸出什麼數據是:

echo nl2br(str_replace('\\r\\n', "\r\n", $string)); 

其中顯示存儲在一個數據庫中的字符串,如何\的它會\ r \ n \ r \ nROW 3 as:

How\'s it going? 

ROW 3 

在段落標記中。

所以我想要的是保持換行不變。 Stripslashes刪除換行符並將輸出放在一行中。

當存儲我使用這種清潔功能的數據:

function clean($mysqli, $var) { 
    $var = strip_tags($var); 
    $var = htmlentities($var); 
    $var = stripslashes($var); 
    return $mysqli->real_escape_string($var); 
} 

我應該怎麼做調整,以保持換行,並刪除單反斜線的話就像這是,什麼,怎麼等。

編輯:解決

+0

請告訴我你想要的輸出如何\的它會 – 2015-02-08 16:35:16

+0

'str_replace函數('\\\ '',''「,$ string);' – Anthony 2015-02-08 16:37:26

+0

stripslashes($ string) – Anthony 2015-02-08 16:39:27

回答

0

如果這被認爲是一個很好的做法,但我所做的是我不知道:

$output = nl2br(str_replace('\\r\\n', "\r\n", $string)); 
echo str_replace('\\', "", $output); 
0
+0

Stripslashes也刪除換行符。 – Markus 2015-02-09 11:05:10

+0

是的。但是如果你在換行符中有一個斜槓,那麼在db中寫入就是錯誤的。如果你不能修復它,使用'str_replace('\\ r \\ n',「\\\\ r \\\ n」,$ string);''stripslashes'之前' – Animir 2015-02-09 14:48:59