大文字の一致を太字に変更する必要がありますが、コロンを含みます
$str = "GOOD MORNING:";
preg_replace("/\b([A-Z]{2,}(\s[A-Z]{2,})?)\b/", "<b>$1</b>", $str);
戻ります:
<b>GOOD MORNING</b>:
返されるはずです:
<b>GOOD MORNING:</b>
私の試みはすべて、私の交換が機能しなくなった
大文字の一致を太字に変更する必要がありますが、コロンを含みます
$str = "GOOD MORNING:";
preg_replace("/\b([A-Z]{2,}(\s[A-Z]{2,})?)\b/", "<b>$1</b>", $str);
戻ります:
<b>GOOD MORNING</b>:
返されるはずです:
<b>GOOD MORNING:</b>
私の試みはすべて、私の交換が機能しなくなった
文字クラスにコロンを追加する必要があります。または、キャプチャ グループの閉じ括弧の直前 (オプションの場合は疑問符を使用)。
$str = preg_replace('~[A-Z]{2,}(?:\s[A-Z]{2,})?:?~', '<b>$0</b>', $str);
注意: ここでは単語の境界は必要ありません。正規表現エンジンは左から始まり、量指定子{2,}
が貪欲であるためです) 。
preg_replace("/([A-Z]{2,}\s[A-Z]{2,}:?)/", "<b>$1</b>", $str);
出力:
<b>GOOD MORNING:</b>
いくつかの方法があります。
次のいずれかで十分です。
preg_replace("/([A-Z:]{2,}(\s[A-Z:]{2,})?)/", "<b>$1</b>", $str);
preg_replace("/([A-Z]{2,}(\s[A-Z:]{2,})?)/", "<b>$1</b>", $str);
preg_replace("/([A-Z]{2,}(\s[A-Z]{2,})?:?)/", "<b>$1</b>", $str);
ここに私のテスト出力があります:
<?php
$str = "GOOD MORNING:";
echo preg_replace('/([A-Z:]{2,}(\s+[A-Z:]{2,})?)/', "<b>$1</b>", $str);
echo preg_replace('/([A-Z]{2,}(\s+[A-Z:]{2,})?)/', "<b>$1</b>", $str);
echo preg_replace('/([A-Z]{2,}(\s+[A-Z]{2,})?:?)/', "<b>$1</b>", $str);
?>
ミゼット:~ masud$ php foo.php
<b>GOOD MORNING:</b><b>GOOD MORNING:</b><b>GOOD MORNING:</b>
これを試してみてください、これはあなたのために働くでしょう、
$str = "GOOD MORNING";
preg_replace("/\b([A-Z]{2,}(\s[A-Z]{2,})?)\b/", "<b>$1:</b>", $str);