有什么方法可以在PHP中分离语法单词吗?

有什么方法可以在PHP中分离语法单词吗?,php,function,Php,Function,如果我有一个语法正确的字段名。我想用空间把它分开 比如说, 字段名称是圆柱体配置,我希望它与圆柱体配置一样 字段名称是noofcylinds,我希望它与气缸数一样 请注意,大小写不是字符串中可识别的字符,整个字符串可能较小 有没有办法做到这一点 有没有办法做到这一点 是的。 此外,做这件事的方法总是不止一种。 数千个其他域名中的一个例子是域名expertsexchange,它可以拆分为专家交换或专家变性 与其为打印字段名这样的琐碎任务实现这样一种AI,我建议要么像PHPmyAdmin那样让它们保

如果我有一个语法正确的字段名。我想用空间把它分开

比如说,

  • 字段名称是圆柱体配置,我希望它与圆柱体配置一样
  • 字段名称是noofcylinds,我希望它与气缸数一样
  • 请注意,大小写不是字符串中可识别的字符,整个字符串可能较小

    有没有办法做到这一点

    有没有办法做到这一点

    是的。
    此外,做这件事的方法总是不止一种。
    数千个其他域名中的一个例子是域名
    expertsexchange
    ,它可以拆分为
    专家交换
    专家变性

    与其为打印字段名这样的琐碎任务实现这样一种AI,我建议要么像PHPmyAdmin那样让它们保持自动化,要么在代码中创建一个硬编码的替换表。在这样一件小事上,它会为你节省大量的时间

    有人可能会建议您将命名约定更改为下划线作为单词分隔符的方式,这种方式可以很容易地转换为空格,但我建议您不要这样做。用户界面中不使用数据库表名称。
    不要偷懒,手动创建输出字段名。

    您可以使用
    /usr/share/dict/words
    中的字典(或下载单词列表)来完成此操作

    然后,伪代码中的算法将如下所示:

    counter = 0
    make input lowercase
    loop i from 0 to length of input:
        if sub string from 0 to i of input is in dictionary:
            grammatical_words[counter] = sub string from 0 to i
            add one to counter
    
    echo all words from grammatical_words
    
    这样做的缺点是,任何以a或i开头的字符串基本上都会失败-像
    算法
    这样的字符串将被拆分为
    a
    ,然后没有进一步的匹配。这意味着,如果你确信自己不使用某些词语,你就需要禁止使用它们。此外,诸如
    通常
    桌面
    之类的复合词也不会有预期的行为。词根中有单词的单词,如“平板电脑”、“手机”、“流行”等也会失败


    经过一些调整,这可能会奏效。如果您知道使用什么单词来加快速度和避免误报,我会创建一个自定义单词列表,而不是使用系统词典。

    我想创建一个函数来实现这一点,它将获取字符串并输出语法正确的(空格分隔的字符串)识别英语不是计算机的强项。所有的字段名都是大小写吗?计算机如何知道
    通常是一个单词还是两个独立的单词
    十个
    ?我认为你的问题的简短答案是否定的。长答案是,即使有办法,也不是100%可靠的。这不是正确的方法,这里的例子是简单的指出和幽默的例子,还有更复杂的单词和语法情况,它们不是那么简单。默认情况下,将单词分隔开,以便以后可以去掉分隔符,或者为列创建一个翻译表来执行此操作……这是一个很好的示例,但我的字段没有这样的混淆。:)@莫汉我把“NoofCylinders”读作“NoofCylinders”。我知道什么,听起来像一个品牌名称。“No of”不是真正的“语法”。我猜在这种情况下“No”的意思是“Number”