【问题标题】:How can I detect repeating characters in php? [duplicate]如何检测php中的重复字符? [复制]
【发布时间】:2012-07-30 05:22:18
【问题描述】:

可能重复:
PHP - Need to remove duplicate characters within a String but would like to include exceptions

我在php下面有一串文本。

$string = "@@@@@@ CHECK ME OUT! @@@@@@@@";

$string = "//////// CHECK ME OUT! ////////";

当他们发布时,他们几乎会使用任何字符词或键来脱颖而出。我的问题是,有没有什么功能可以用来防止人们向密钥或字符发送垃圾邮件。

因此,如果任何字符或键被使用超过 3 次,它将删除它。所以它看起来像下面这样。

$string = "CHECK ME OUT!";

谢谢

【问题讨论】:

  • 听起来是个坏方法——你需要登录才能发帖吗?使用验证码?
  • 这会很困难,因为脚本在世界“困难”中取出双f怎么说?
  • 而在某些语言中,有3个以上连续字母的单词
  • @david 这就是为什么我在三个之后说的:)

标签: php


【解决方案1】:

当然,只需使用regular expression to match a repeated character

$string = "//////// CHECK ME OUT! ////////";
echo preg_replace('/(.)\1{3,}/', '', $string);

【讨论】:

    【解决方案2】:

    您可以在trim 中提供一个字符列表。

    $string = "//////// CHECK ME OUT! ////////";
    echo trim($string, "/\$@");
    

    这将修剪(从字符串的开头和结尾)列表中的任何字符。任何字符串都不应该以/\%@ 结尾或以/\%@ 结尾,所以这应该是一件非常安全的事情。

    【讨论】:

      【解决方案3】:
      $string = preg_replace('/(.)\1\1+/', '', $string);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-10-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-20
        相关资源
        最近更新 更多