2013-08-21 106 views
0

你好我正在做一个PHP脚本,我需要为我的preg_replace函数转义一个字符串,我的PHP服务器不会显示错误,所以我无法检测到我犯的错误!转义此字符串? (PHP)

的STRIG是/*1*\

我想:'@\/\*1\*\@' => 'HERE!'

它不会出于某种原因!帮帮我?

+0

使用[preg_quote()](http://www.php.net/manual/en/function.preg-quote.php)为你做这个......最后的“\”应该是“ \\“;和“/”不需要转义,因为你不使用它作为分隔符 –

+0

它会更酷如果我学会了如何逃避那个字符串。 – Monami

+0

@MarkBaker不工作btw .. – Monami

回答

1

如果您使用@作为分隔符,则不必转义正斜杠。然而反斜杠需要更多一点的PCRE逃逸,一旦PHP字符串背景下,一旦:

~/\*1\*\\\\~ 

为了清楚起见~作为分隔符这里。

(更准确地说,你会逃避反斜杠\\在PHP中的字符串。虽然PHP保持它,如果单一般。)

东西我偶尔使用,以减少逃逸的字符类(这是对普遍建议)和可读性x修饰符(也就是通常建议的):

~ [/] [*] 1 [*] [\\\\] ~x 

注意反斜线必须仍然multipled。

+0

谢谢,这对我很有用。 – Monami