2016-11-24 32 views
-1

我遇到问题。我试图用这样的ASCII文本编写一个字符串:'/ \'。但是每当我这样做时,反斜杠就会通过取消定义一个字符串的引用来锁定代码,从而将其拧紧。无论如何取消反斜杠,所以它不会取消报价?多谢你们!反斜杠在PHP中打破字符串

+0

你能告诉我们带引号的字符串,因为你现在有吗? – WEBjuju

+6

当在PHP中的字符串中的引号出现之前立即出现反斜线时,它将转义该字符,因此它不会是结尾引号。你需要用另一个逃避反斜杠。 '\\'' – marekful

+0

@WEBjuju我的输出是在下面的答案中的评论。 – Njinx

回答

2

\是特殊字符,即:'下一个字符有特殊含义'。

所以,如果你想dispaly \你应该写... \\到写东西时,喜欢就是HEREDOC得到输出

+0

我试过了。原始字符串看起来像这样:''\/\ /''和修改后的字符串看起来像这样''\\/\\ /''但我得到了这个输出“//” – Njinx

+0

请更新您的问题与一些示例代码 – piotr

0

一个很好的解决方案一个\。在heredoc块内部,你不需要担心逃脱任何事情,它只是文本。

例如:

echo <<<TEXT 

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

TEXT; 

有一个锁扣。如果你不在线的开头对齐echo,或者TEXT;在行首不对齐。

定界符也可以被分配给一个变量,像这样:

$var = <<<SOME_MORE_TEXT 

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

SOME_MORE_TEXT; 

最后,HEREDOC保留制表符和空格。在进行ASCII艺术时,这也可能派上用场。

有关更多信息,请参阅:http://php.net/manual/en/language.types.string.php

+1

OP显示他们在答案部分中显示的示例在哪里?我想我认为这个解决方案是OP将他们的例子放在答案中。耸肩。我的新人更不容易混淆。 – WEBjuju

+0

事实确实如此!拥有它! – Digitalis

0

这将是非常有益的,以显示你已经尝试了什么,但是这会产生你所要求的精确的输出(如图SO)

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

“/ \”

应该也给您了解反斜杠转义在不同类型的字符串中的工作原理。

0

您只需在使用单引号时避开最后一个。

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

我不明白的是,如果op的例子只是$ var ='\/\ /';它会出来** \/\/**。我想我们会被困在这个谜中,因为我们似乎比OP更感兴趣。 – WEBjuju