4

私はこの正規表現を持っています.2つの記号の間にスペースがない限り、間のすべてのテキストを削除して空の文字列に$置き換え、その場合は置換を無視します. 私が今持っている正規表現では、スペースがあるかどうかに関係なく削除されます。$$

<?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 番目の段落タグはまだ残っています。

<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 に答える