我有一种方法可以用来清除用户提交的数据中的输出。我可以传递选项以分别允许或禁止URL和电子邮件。过去直到现在,当我在不允许的URL和允许的电子邮件中使用它时,它的运行情况都很好。问题是我用来阻止URL的正则表达式也阻止了电子邮件地址上的域。如何阻止URL和域,但前提是它们不属于电子邮件地址?我现有的代码;// email address removalif ( ! ISSET($options['email']) || $options['email'] === FALSE) { $pattern = "/[^@\s]*@[^@\s]*\.[^@\s]*/"; $replacement = '<span class="muted">*</span>'; $string = preg_replace($pattern, $replacement, $string);}// url - link removalif ( ! ISSET($options['url']) || $options['url'] === FALSE) { $pattern = "/[a-zA-Z]*[:\/\/]*[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+/i"; $replacement = '<span class="muted">**</span>'; $string = preg_replace($pattern, $replacement, $string);}
- 2 回答
- 0 关注
- 196 浏览
添加回答
举报
0/150
提交
取消