2011-08-16 7 views
0

さて、私は文字列 "!!テスト"または "!!!!!テスト"を持っていると言う。preg_replaceとPHP正規表現の質問

私ができるようにしたいのは、preg_replace()を使用し、最初の "!"最初の "!"の後にテキストの残りの部分を残しておきます。それは "!"ではありません

"!!テスト" - "!テスト">

答えて

3
$str = preg_replace('/!+/', '!', $str); 

は、単一!で複数! Sを交換してください。

http://www.regular-expressions.info/には、正規表現を学習するための素晴らしいチュートリアルや参考資料があります。

+0

「最初」についての質問だったので、正規表現の冒頭に^を追加する必要があります。 – MaxiWheat

+0

@MaxiWheatこれは、複数の '! 'を1つに分解するという概念を説明する方法に過ぎないと思います。 OPが '! 'の1つのグループだけを置き換え、そのグループが文字列の先頭にあることが保証されていることが必要な場合は、'^'を追加します。 – Wiseguy

0
preg_replace('#!+\s?test#','!test', $subject); 

両方の例で機能します。