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