正则表达式和换行模式

时间:2013-10-11 08:34:30

标签: php regex function quote

我有一个功能:

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

当只有一个简单的字符串我想格式化它时效果很好。但是我想让这个函数只在带有&gt;的字符串时起作用mark在新行之后以及在其末尾有第二个新行标记。我还想在&gt;之后立即阻止空间。标记。我正在尝试添加\ n,^标记和其他可能有用的但它不起作用。

因此模式应如下所示:

[br]>any text[br]

这是画板上流行的引用方法

2 个答案:

答案 0 :(得分:0)

要替换以>开头的所有行,请将正则表达式更改为:

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

^表示开始行 $表示行尾

答案 1 :(得分:0)

好的,我是自己做的,所以对于那些会发现它有用的人来说:

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