>  기사  >  백엔드 개발  >  PHP 일반은 $ 기호를 이스케이프하지만 슬래시가 작동하지 않습니까?

PHP 일반은 $ 기호를 이스케이프하지만 슬래시가 작동하지 않습니까?

WBOY
WBOY원래의
2016-12-01 01:27:171227검색

<code>$pattern = "/\{\$/";
preg_match($pattern, $this->content, $matches);
var_dump($matches)</code>

没有匹配到
但是改成两斜杠就管用了

回复内容:

<code>$pattern = "/\{\$/";
preg_match($pattern, $this->content, $matches);
var_dump($matches)</code>

没有匹配到
但是改成两斜杠就管用了

因为PHP里双引号内会解析变量,所以换成单引号,或再加个\即可。

<code>$pattern = "/\{\$var/";    // $var变量  
$pattern = '/\{\$/';</code>

在字符串里\本身就用为转义字符,所以在字符串里表示\需要使用\\。所以在对应$时,其实需要进行两次转意,也就是需要\\$

字符串中的单个\ 是不能被正确识别的 需要\\
有明大大 已经说得很详细了
$pattern = "/\\{\\$/";

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.