繁体   English   中英

如何使用preg_replace删除字符串?

[英]How to remove string using preg_replace?

我有一个示例代码:

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

并使用代码:

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

但是结果错误,如何为结果删除该字符串是"Hello world"

与任何编程语言一样,有数百种方法可以完成所有工作。 这是使用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>标记):

你好,世界

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

2013年5月28日,星期二07:22您好,世界

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM