-1

大文字の単語を太字にフォーマットする必要がありますが、単語に 2 つのスペースが含まれていると機能しません

コロンで終わる単語とのみ正規表現を一致させる方法はありますか?

$str = "BAKA NO TEST: hey";    
$str = preg_replace('~[A-Z]{4,}\s[A-Z]\s{2,}(?:\s[A-Z]{4,})?:?~', '<b>$0</b>', $str);

出力:<b>BAKA NO TEST:</b> hey

しかし、それは戻ります<b>BAKA</b> NO TEST: hey

$strは複数行のテキストなので、小文字と大文字の単語がたくさんありますが、一部だけ変更する必要があります

4

2 に答える 2

0

その正規表現を使用する正当な理由がない限り、次のような簡単なものを試してください。

/([A-Z\s]+):/

また、ご存知のように、アスタリスクを使用し空白文字を指定することもできます。\s*

于 2013-07-30T21:37:36.210 に答える