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