除非有空格,否则删除字符串

时间:2013-01-02 16:08:42

标签: php regex preg-replace

我有这个正则表达式,我希望它删除$$之间的所有文本,并用空字符串替换它,除非两者之间有任何空格{{1} }标志,在这种情况下忽略替换。使用我现在的正则表达式,无论是否有空格,它都会删除它。

$

所以,最后我想将此作为输出。正如您可能注意到的那样,第一段标签之间的文字已经消失,但第二段仍然有效。

<?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);

2 个答案:

答案 0 :(得分:1)

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

我刚删除了点

答案 1 :(得分:0)

<?php $source = 'His $name$ is $Luis$';
echo $result = preg_replace('/\$(.*?)\$/', '<b>$1</b>', $source);
?>