使用正则表达式,替换以“embed:”开头的文本块中的任何行

时间:2012-08-30 15:31:08

标签: php regex string

正如标题所说,我正在寻找一个正则表达式,使用PHP代码,给出带有换行符的$字符串,如下所示:

Hello my name is John Doe. Here is a cool video:

embed:http://youtube.com/watch......

I hope you liked it!

它将返回:

Hello my name is John Doe. Here is a cool video:

I hope you liked it!

2 个答案:

答案 0 :(得分:1)

试试这个:

preg_replace('#embed:.*?\n*#m', '', $string);

答案 1 :(得分:1)

这应该这样做:

preg_replace('/^embed:.*\s*/m', '', $block_of_text);

说明:

  1. /m修改器启用了多行模式(因此您可以轻松匹配基于行的模式)

  2. 它使用插入符号(锚点)匹配行的开头:^

  3. 匹配"embed:字符串

  4. 使用.*

  5. 匹配到行尾
  6. 匹配当前行之后的任何换行符和空格(这样可以更好地清理空行)