2011-11-26 85 views
3

我有一個PHP頁面正在讀取存儲在MYSQL數據庫表中的文本。 文字可能是這個樣子正則表達式只檢查每行的第一個匹配

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

我想做的preg_replace在每行第一個冒號之前出現大膽的一切。 所以在這種情況下,只有人名是大膽而最後一行「一些東西」不會是大膽

我現在已經在每個任何冒號之前出現線條加粗一切

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

回答

2

你可以使用:

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

See it

+0

如果我想冒着冒險一起冒險怎麼辦?除了在輸出 – abney317

+0

@ abney317上添加一個冒號:在'(...) – codaddict

0

^符號用於匹配的開始一條線。把它放到你的正則表達式的開頭,它將確保匹配從當前行的開始處開始:-)