如何使用preg_replace删除字符串?

时间:2013-05-28 15:46:16

标签: php

我有一个示例代码:

$content = "Tuesday 28th May 2013 07:22<br/><br/>Hello world";

使用代码:

preg_replace("s/(<br[^>]*>\s*){2,}/", "", $content);

但结果有误,如何删除此字符串的结果为"Hello world";

1 个答案:

答案 0 :(得分:0)

与任何编程语言一样,有数百种方法可以完成所有工作。以下是使用preg_replace()的方法,因为这是您的示例尝试。不确定问题的最终目标......但这里有几个例子:

$content = "Tuesday 28th May 2013 07:22<br/><br/>Hello world";

仅返回“Hello World”:

$hello = preg_replace('!^([^<]+)(<[^>]+>){2}!','',$content);

仅限返回时间部分:

$time = preg_replace('!^([^<]+)(<[^>]+>){2}(.*)$!',"$1",$content);

删除标记(strip_tags()通常更好,但在这种情况下你没有文字空间):

$clean_content = preg_replace('!^([^<]+)(<[^>]+>){2}(.*)$!',"$1 $3",$content);

打印声明:

echo $hello."<br>";
echo $time."<br>";
echo $clean_content."<br>";

输出(我在浏览器中添加了<br>标记以便于阅读:)

  

Hello world

     

2013年5月28日星期二07:22

     

2013年5月28日星期二07:22 Hello world