【问题标题】:How to remove email addresses and phone number from a string in PHP? [closed]如何从 PHP 中的字符串中删除电子邮件地址和电话号码? [关闭]
【发布时间】:2013-05-22 02:51:42
【问题描述】:

我需要从 PHP 中的字符串中删除所有电子邮件和电话号码。 有人可以帮我吗?

【问题讨论】:

  • 显示代码............
  • 来自哪个字符串,你的努力是什么?

标签: php string


【解决方案1】:

这只是一个开始,而不是一个完整的答案。您需要阅读更多关于正则表达式及其用法的信息。

删除电子邮件地址:

$pattern = "/[^@\s]*@[^@\s]*\.[^@\s]*/";
$replacement = "[removed]";
preg_replace($pattern, $replacement, $string);

Reference

电话号码:

$text = preg_replace('/\+?[0-9][0-9()-\s+]{4,20}[0-9]/', '[removed]', $text);

这寻找:

加号(可选),后跟一个数字,后跟 4-20 个数字、括号、破折号或空格,后跟一个数字

并用字符串 [removed] 替换。

Reference

【讨论】:

  • 不会匹配所有合法的电子邮件地址。电话号码同上
  • 是的。我正在编辑帖子。添加相同的
  • + 而不是 * 也许?
  • 电子邮件删除工作正常,但电话号码删除不工作。我收到此错误:preg_replace(): Compilation failed: invalid range in character class at offset 16
  • @ankitsuthar 您可能需要在连字符前面放一个 \ 来转义连字符 - 例如参见stackoverflow.com/questions/60377374/…
猜你喜欢
  • 2012-02-08
  • 1970-01-01
  • 2011-03-19
  • 1970-01-01
  • 2014-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多