php - preg_replace 删除所有以 http ://and ending with a space 开头的单词

标签 php url

我想到了用 PHP 删除字符串中的所有链接。

我需要一个 preg_replace 来删除和删除所有以 : 开头的单词

http://或 https://或 www。或www3。或 ftp://

并以空格结尾。

示例:你好http://dsqdsq.com/fdsfsd?fsdflsd享受吧!

这将是:你好,享受!

谢谢

最佳答案

我会这样做:

$output = preg_replace('!\b((https?|ftp)://)?www3?\..*?\b!', '', $input);

其中:

  • 从字边界开始 (\b);
  • 可以选择以 http://、https://或 ftp://开头;和
  • 拥有以 www 开头的域名。或www3。

然后删除该文本以及直到下一个单词边界的所有文本。

注意:使用 \b 通常优于检查空格。 \b 是一个零宽度(意味着它不消耗输入的任何部分),它匹配字符串的开头、字符串的结尾、从单词到非单词字符的转换或从非单词字符到单词字符的转换。

关于php - preg_replace 删除所有以 http ://and ending with a space 开头的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2052194/

相关文章:

java - 在 URL 中使用时区参数发送日期和时间的可接受方式

Javascript 图片网址验证

php - URL 中断中的 %2F 并且不引用所需的 .php 文件

php - 如何使用 eloquent 在 Laravel 中构建基于条件的查询

php - Tumbletrain 风格的火车图像显示?

javascript - 为什么<a>标签用%2520替换空格?如何解决问题?

javascript - 不带哈希值的重定向 URL - Ember.JS

php - 从查询创建数组?

php - 随机码生成器

php - 存储客户产品的最佳方法