Php 包含$(abc)的preg_replace()不起作用

Php 包含$(abc)的preg_replace()不起作用,php,regex,Php,Regex,我试图使用preg\u replace()函数加粗特定的字符串内容。$()字符串已成功粗体显示 <?php $text=preg_replace("/$()/","<b>$()</b>","$(), you can"); echo $text; ?> 但是,当我在括号中添加一些单词时,函数就停止了工作。然而,函数也没有抛出任何错误 <?php

我试图使用
preg\u replace()
函数加粗特定的字符串内容。
$()
字符串已成功粗体显示

          <?php 
         $text=preg_replace("/$()/","<b>$()</b>","$(), you can");
          echo $text;
          ?>

但是,当我在括号中添加一些单词时,函数就停止了工作。然而,函数也没有抛出任何错误

         <?php  
         $text=preg_replace("/$(abc)/","<b>$(abc)</b>","$(abc), you can");
          echo $text;
          ?>

有人能解释一下吗?提前感谢。

第一个正则表达式,因为它匹配了输入末尾的空字符串,并替换为
$()

您需要转义特殊符号:

'/\$\(abc\)/'

$text=preg\u replace(“/\\$\\(abc\\)/”,“$(abc)”,“代替$(abc),您可以”);

输出:
代替$(abc),您可以

第一个输出在任何方面如何正确?它输出的内容与您描述的内容并不接近。请检查您的正则表达式,说真的,这是值得的
preg_replace
将只执行您告诉它的操作@匿名我不明白你的意思……@ArchitSaxena它输出<代码>'$(),你可以$()'@Anonymous…是的,没错,但当我在括号内添加一些东西时…说$(abc)同样不起作用?????我添加了解释。实际上,
不是字面括号,只是一个捕获组。
$text=preg_replace("/\\$\\(abc\\)/","<b>$(abc)</b>","In place of $(abc), you can");