从每行中删除一个或多个字符

时间:2013-02-17 10:06:18

标签: php regex

任何人都可以帮我解决这个问题。  '>'的问题符号 转发电子邮件时,某些电子邮件客户端会在电子邮件的每一行之前添加“>”符号。例如:

This is an example of forwarded text

变为:

> test message

如果多次这样做,文字就会变得不可读:

>>>>>>>>>>>>>>>>>>> test message
>>>>>>>>>>>>>>>>> test message

“>”符号组之间甚至可能有空格,如下所示:

>> >>>>>> >>>>>>>>> test message

我需要从每一行删除这些文字并清理电子邮件内容

任何人都可以帮我找出正则表达式来解决这个问题

2 个答案:

答案 0 :(得分:2)

$ trimmed = preg_replace(' / ^([> \ s] +)/ m','',$ content);

答案 1 :(得分:1)

function strip_forward($input) {
    return preg_replace("/^[> ]+/m","",$input); 
}

////////////////////////////////////////////////

$input = ">>> >> > Test\n".
         ">> Test\n".
         "> Test\n".
         "Test";

echo $input."\n\n\n";
echo strip_forward($input);

在此测试:http://codepad.org/I1Ddfwte