4

我有这个正则表达式,我希望它删除和之间的所有文本$$用空字符串替换它,除非两个$符号之间的任何地方都有空格,在这种情况下忽略替换。使用我现在拥有的正则表达式,无论是否有空格,它都会将其删除。

<?php
$tmp = "<p>
    $random_text$
</p>
<p>
    $random text2$
</p>
<p>
    This is some text
</p>
<p>
    This is some text
</p>";

$tmp = preg_replace("/\\$[^ ].+?\\$/", "", $tmp);

所以,最后我想把它作为输出。您可能会注意到,第一个段落标记之间的文本已经消失,但第二个段落标记仍然存在。

<p>

</p>
<p>
    $random text2$
</p>
<p>
    This is some text
</p>
<p>
    This is some text
</p>
4

2 回答 2

1
/\\$[^ ]+?\\$/

我刚刚删除了点

于 2013-01-02T16:25:41.717 回答
0
<?php $source = 'His $name$ is $Luis$';
echo $result = preg_replace('/\$(.*?)\$/', '<b>$1</b>', $source);
?>
于 2013-01-02T17:12:14.820 回答