簡體   English   中英

反斜杠在PHP中破壞字符串

[英]Backslashes breaking string in PHP

我有一個問題。 我正在嘗試使用ASCII文本編寫一個字符串,例如:“ / \\”。 但是每當我這樣做的時候,反斜杠通過取消定義字符串的引號來擰緊代碼,從而擰緊代碼。 無論如何,有沒有取消反斜杠,所以它沒有取消報價? 多謝你們!

\\是特殊字符,表示:“下一個字符具有特殊含義”。

因此,如果要顯示\\ ,則應編寫... \\\\以在輸出中獲得一個\\

編寫類似的東西時,HEREDOC是一個很好的解決方案。 在Heredoc塊中,您無需擔心轉義任何內容,而只是文本。

例如:

echo <<<TEXT

/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\

TEXT;

有一個陷阱。 如果您未在行的開頭對齊回聲,或者如果TEXT,則PHP將會中斷。 在行的開頭未對齊。

也可以將Heredoc分配給變量,如下所示:

$var = <<<SOME_MORE_TEXT

/|\/|\/|\/|\/|\/|\/|\/|\/|\/|\

SOME_MORE_TEXT;

最后,HEREDOC保留制表符和空格。 在進行ASCII藝術時,這也可能會派上用場。

請參閱: http : //php.net/manual/en/language.types.string.php了解更多信息。

顯示您嘗試過的內容將非常有幫助,但這將產生您所請求的確切輸出(如SO所示)

echo '\'/\\' . "'\n" ;

'/ \\'

它還應該使您了解反斜杠轉義在不同類型的字符串中如何工作。

使用單引號時,您只需要轉義最后一個。

$var = 'backslash\backslash\backslash\\';
// output is:
// backslash\backslash\backslash\

暫無
暫無

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

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