[英]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.