繁体   English   中英

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

[英]Regular Expression to Check only 1st Match of Each Line

我有一个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);

您可以使用:

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

看见

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM