【问题标题】:Check if at least 75% of a string is UPPERCASE检查是否至少 75% 的字符串是大写的
【发布时间】:2009-10-30 10:26:47
【问题描述】:

我正在用 PHP 编写错误跟踪软件,今天我在另一个错误跟踪器中看到了这个: http://bugs.php.net/bug.php?id=12017

现在我想在我的软件中添加一项功能,该功能将阻止至少 75% 的所有字符为大写的标题。

我该怎么做? 谢谢,

附: CSS 将不起作用,因为例如,如果您的标题中有“iPod”这个词,它就会变成“ipod”,这很糟糕:)

【问题讨论】:

    标签: php string count uppercase


    【解决方案1】:
    strlen(preg_replace('/[A-Z]/', '', $str)) / strlen($str) > 0.25
    

    没有经过测试,但你应该明白了。

    【讨论】:

    • 我在这里考虑整数除法问题。也许切换它们? (original_length / changed_length) > 4?
    • 好吧,我假设 $str 被预先验证为非空。毕竟,这是一个用户提交的标题。
    • 而且除法不会造成任何问题。即使/ 运算符的两个操作数都是整数,结果也将是浮点数,除非它们均分。
    • 如果您(可能)处理 a-zA-Z 以外的字母,例如丹麦语 Æ 或西班牙语 Ñ 你应该看看 pcre 的 unicode 支持。属性 \p{Lu} 测试大写字符。请参阅pcre.org/pcre.txt(“UTF-8 和 UNICODE 属性支持”)
    • @Koning Baard XIV,不,当然不,谢谢。这只是一个小而明显的sn-p代码......
    猜你喜欢
    • 2019-02-03
    • 1970-01-01
    • 2017-12-24
    • 2014-08-13
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    相关资源
    最近更新 更多