我有一个这样的字符串:foo($bar1, $bar2)
如何用regexp替换每个变量<span>$variable</span>
?
这是我的尝试(不工作):
$row['name'] = preg_replace("/\$\w+/S", "<span>$1</span>", $row['name']);
我只想要替换变量并在它们周围加span
,我不想要替换逗号或空格。
我想要的是将我的字符串foo($bar1, $bar2)
替换为foo(<span>$bar1</span>, <span>$bar2</span>)
($ bar1和$ bar2不是变量,它是纯文本)。
答案 0 :(得分:0)
以下是我可以看到的一些问题:
$
\
来逃避\\$
。
或者你也可以单独使用
引用并使用\$
。$1
但你没有任何小组
正则表达式。所以有( )
左右
\$\w+
所以试试:
$str = preg_replace('/(\$\w+)/', "<span>$1</span>", $str);
或
$str = preg_replace("/(\\$\w+)/", "<span>$1</span>", $str);