2013-10-11 77 views
0

我有一個函數:正則表達式和換行模式

function ColoredQuote($string) { 
    $buffer = preg_replace('/>.+/', '<span class=quote>$0</span><br />', $string); 
    return $buffer; 
} 

當有一個簡單的字符串,只有我想格式化的偉大工程。但是我想讓這個函數只在帶有標記的字符串在一個新行之後,並且在它的結尾有第二個新行標記時才起作用。 >標記後,我也想防止空格。我正在嘗試添加\ n,^標記以及其他可能有用但不起作用的標記。

所以這個模式應該是這樣的:

[br]>any text[br] 

這是流行在imageboards

回答

0

報價方法來替代所有行與>開始改變你的正則表達式來此:

$buffer = preg_replace('/^>.+$/', '<span class=quote>$0</span><br />', $string); 

^意味着行的開始 $意味着行末

0

好吧,我做到了我自己,這樣的人誰就會發現它有用:

function ColoredQuote($string) { 
    $buffer = preg_replace('!\>\S.+!', '<br /><span class=quote>$0</span><br />', $string); 
    return $buffer; 
    }