簡體   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