Preg 替换 - 需要 reg ex

发布于 2024-09-03 21:44:43 字数 261 浏览 4 评论 0原文

寻找一个 reg ex 来将字符串清空(如果字符串中包含坏词的话)。

    $string1 = "Ihatestackoverflow";
    $string2 = "I HaTe sackoverflow";
    $string3 = "1HaTestackoverflow";

    $badword = "hate";

# result
# string1 = "";
# string2 = "";
# string3 = "";

Looking for a reg ex to null (empty) the string if it any contains the bad word..

    $string1 = "Ihatestackoverflow";
    $string2 = "I HaTe sackoverflow";
    $string3 = "1HaTestackoverflow";

    $badword = "hate";

# result
# string1 = "";
# string2 = "";
# string3 = "";

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

涙—继续流 2024-09-10 21:44:43
$regex = '#^.*?(hate).*$#ims';
$str = preg_replace($regex, '', $str);

要添加更多“坏词”,只需将它们添加到 () 中:

$regex = '#^.*?(hate|anotherbadword|yetanother|etc).*$#ims';

前导 ^ 和尾随 $ 匹配完整字符串。 i 选项用于不区分大小写的匹配。 m 启用多行模式(以便 ^ 和 $ 匹配整个字符串,而不是其中的单行)。 s 启用 DOTALL(因此 . 也匹配换行符)。

你可以

$regex = '#^.*?(hate).*$#ims';
$str = preg_replace($regex, '', $str);

To add more "bad words", just add them in the ():

$regex = '#^.*?(hate|anotherbadword|yetanother|etc).*$#ims';

The leading ^ and trailing $ match the full string. The i option is for case insensitive matching. The m enables multi-line mode (so that ^ and $ match the whole string, as opposed to a single line in it). The s enables DOTALL (so the . matches new line characters as well).

You could

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文