簡體   English   中英

在 PHP 的 str_replace() 中,雙反斜杠是什么意思?

[英]In PHP's str_replace(), what does the double backslash mean?

我想刪除所有\\r \\n \\r\\n這很容易,所以我寫道:

str_replace(array("\r","\n"),"",$text);

但我看到了這一行:

str_replace(array("\r","\n","\\r","\\n"),"",$text);

我想知道雙反斜杠是什么意思\\\\r\\\\n

\\是一個轉義字符,用於轉義后面的字符。

"\\n" ,反斜杠轉義n並且結果將是一個新行字符。

"\\\\n" ,第一個反斜杠轉義第二個反斜杠並且n保持原樣,因此結果是一個包含\\n (字面意思)的字符串。

請參閱PHP 官方文檔 > 字符串

在您的問題的上下文中, str_replace()將刪除新行( "\\n""\\r" )並從字符串中刪除\\n\\r (分別為"\\\\n""\\\\r" ) . 文本沒有理由包含單詞\\n\\r ,所以似乎在這里使用"\\\\n""\\\\r"沒有興趣。

第一個反斜杠轉義第二個,因此它匹配$text中的文字反斜杠。

如果您只想從字符串中刪除換行符和回車符,我不確定為什么要匹配它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM