Jos*_*iah 18
您可以使用preg_replace来执行此操作.
对于电子邮件:
$pattern = "/[^@\s]*@[^@\s]*\.[^@\s]*/";
$replacement = "[removed]";
preg_replace($pattern, $replacement, $string);
Run Code Online (Sandbox Code Playgroud)
对于网址:
$pattern = "/[a-zA-Z]*[:\/\/]*[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+/i";
$replacement = "[removed]";
preg_replace($pattern, $replacement, $string);
Run Code Online (Sandbox Code Playgroud)
资源
PHP手册:http://php.net/manual/en/function.preg-replace.php
信用到期的信用:从preg_match联机帮助页获取的电子邮件正则表达式,以及从以下网址获取的URL正则表达式:http://www.weberdev.com/get_example-4227.html
尝试这个:
$patterns = array('<[\w.]+@[\w.]+>', '<\w{3,6}:(?:(?://)|(?:\\\\))[^\s]+>');
$matches = array('[email removed]', '[link removed]');
$newString = preg_replace($patterns, $matches, $stringToBeMatched);
Run Code Online (Sandbox Code Playgroud)
注意:您可以将一组模式和匹配项传递给 preg_replace 而不是运行它两次。