Php 封装\签名

Php 封装\签名,php,regex,Php,Regex,我需要在字符串中找到$符号,并将其替换为\$符号 但是当我运行下面的代码时,我会得到\0text作为输出,而不是\$text 我怎样才能得到我需要的结果 <?php $text = '$text'; $result = preg_replace('/(\$)/', '\\\0', $text); die($result); // output is \0text Use:echo preg\u replace(“/\$/”、“\\\$0”和“$text”)或echo str\u re

我需要在字符串中找到$符号,并将其替换为\$符号

但是当我运行下面的代码时,我会得到\0text作为输出,而不是\$text

我怎样才能得到我需要的结果

<?php
$text = '$text';

$result = preg_replace('/(\$)/', '\\\0', $text);

die($result); // output is \0text

Use:
echo preg\u replace(“/\$/”、“\\\$0”和“$text”)
echo str\u replace(“$”、“\\$”、“$text”)如果只替换固定字符,是否需要正则表达式<代码>str_replace
可能更容易。谢谢。它解决了我的问题。请解释如何理解字符串中“\\\\$0”中的反斜杠逻辑反斜杠需要转义,这就是为什么
str\u replace(“$”、“\\$”、“$text”)
但是在
preg_replace
中,它需要被转义两次,因为替换字符串也被传递到正则表达式引擎,这也需要另一个转义。转义某个内容意味着它不应该已经被转义。就是这样。你不能只是逃避某件事,然后让它意味着某件事,或者当它被撤销时。查找
”~(?