替换包含在两个字符之间的字符串

replace string contained between two characters

我有一个像这样的字符串:

www.mydomain.com/product/$ID_PRODUCT$/ID_$ID_PRODUCT$

我需要的是替换包含在“$”和“$”之间的字符串,同时删除字符串定界符(即“$”)获得如下内容:

www.mydomain.com/product/1234/ID_1234

谢谢,

编辑: 尝试

$new_string = preg_replace('/($)(.*)($)/s', product->id, $string);

但是它不处理第二个表达式...

@stribizhev 的演示,在下面的评论中给出,对我有用!

这似乎有效:

<?php
$a = 'www.mydomain.com/product/$ID_PRODUCT$/ID_$ID_PRODUCT$';
echo preg_replace('/[$][a-zA-Z_]+[$]/',"1234",$a);

Demo