繁体   English   中英

转义此字符串? (PHP)

[英]Escaping this string? (PHP)

您好,我正在制作一个PHP脚本,我需要为preg_replace函数转义一个字符串,并且由于某些原因,我的php服务器不会显示错误,因此我无法检测到我在哪里出错了!

条纹为/*1*\\

我正在尝试: '@\\/\\*1\\*\\@' => 'HERE!'

由于某种原因,它不起作用! 救命?

如果将@用作分隔符,则不必转义正斜杠。 但是,反斜杠需要更多的转义,一次用于PHP字符串上下文,一次用于PCRE:

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

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

(更正确地,您将在PHP字符串中将每个反斜杠转义为\\\\ 。尽管PHP通常将其保留为单个。)

我偶尔用来减少转义的东西是字符类(通常不建议这样做)和x修饰符以提高可读性(通常建议):

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

请注意,反斜杠仍需要倍增。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM