正则表达式仅检查每条线的第一场比赛

时间:2011-11-26 04:15:55

标签: php regex preg-replace

我有一个PHP页面,它正在读取存储在MYSQL数据库表中的文本。 文字可能看起来像这样

Bob: Hi blah blah
(Bob walking around)
Fred Johnson: blah blah blah
Bob: Something something: something

我想做一个preg_replace来加粗每行中第一个冒号之前的所有内容。 所以在这种情况下,只有名字才是粗体,在最后一行“Something something”不会是粗体

我现在在任何冒号之前的每一行都加粗了所有内容

$reg='(.*\w:)';
$text = preg_replace("/".$reg."/", "<b>\${1}</b>", $text);

2 个答案:

答案 0 :(得分:2)

您可以使用:

$reg='^([^:]*:)';

See it

答案 1 :(得分:0)

^符号用于匹配行的开头。将其添加到正则表达式的开头,它将确保匹配从当前行的开头开始: - )