PHP-MySQL名称分数分离系统

PHP-MySQL名称分数分离系统,php,mysql,formatting,explode,Php,Mysql,Formatting,Explode,我有一个列出运动成绩的网站。它的工作原理如下: Firstname Lastname 1-0 Firstname Lastname 它将基于空格分解此项,然后基于-,分解包含分数的第三项 问题是它不支持超过2个单词的名称。如果我使用-first进行分解,它将不支持其中包含-in的名称。结果被添加到一个文本区域中,因为我需要添加数千个,所以我不想创建多个字段来输入数据,因为我现在可以快速添加匹配项,每行列出一个结果。有人对如何使系统同时对多字和特殊字符不敏感有什么建议吗?有没有一种方法可以在遇到数

我有一个列出运动成绩的网站。它的工作原理如下:

Firstname Lastname 1-0 Firstname Lastname

它将基于空格分解此项,然后基于-,分解包含分数的第三项


问题是它不支持超过2个单词的名称。如果我使用-first进行分解,它将不支持其中包含-in的名称。结果被添加到一个文本区域中,因为我需要添加数千个,所以我不想创建多个字段来输入数据,因为我现在可以快速添加匹配项,每行列出一个结果。有人对如何使系统同时对多字和特殊字符不敏感有什么建议吗?有没有一种方法可以在遇到数字时进行分割,然后选择第一个区块作为名字,最后一个区块作为球员得分,其余区块作为姓氏?

我不知道是否有任何方法可以教你一个简单的解析命令,甚至正则表达式来做你想做的事情。有些情况总是模棱两可的。例如,如果你有“玛丽·安·施泰纳”和“康斯坦丁·范·戴克”这两个名字,图案完全相同,但其中一个需要拆分为2/1,另一个需要拆分为1/2

你可能会找到一个图书馆,它知道如何根据一本巨大的已知名称词典进行有根据的猜测,但如果失败了

我认为在这种情况下,你需要人脑输入数据来做出一些决定,并在数据输入过程中加以指示。根据我的经验,如果您使用tab键导航,而不是四处移动,那么使用多个字段的速度不会太慢。您也可以使用自己的分隔符输入数据,如:

Mary Ann,Steiner,2-3
Constantin,Van Dyke,4-2
然后,您可以运行一些基于的分解这些行的程序,并将元素输入到数据库中


如果要从外部站点复制/粘贴或抓取数据,另一个选项是使用当前使用的方法分解每一行。这应该适用于大多数记录,当它不起作用时,这是显而易见的——结果记录将包含太多的元素。你可以让你的脚本标记那些记录以供人工干预。

你应该研究正则表达式-它们可以做你想做的事情,比如糟糕的数据库设计…@Flukey这是我最初的想法,但听起来这是一种数据输入格式,而不是数据存储格式。我认为OP要么输入这些,要么从其他地方删除它们,然后尝试将它们分成有意义的块。@octern你说得对,我正在将体育比赛结果添加到文本区域,以便于快速添加大量比赛。我正在使用一个球员表,一个比赛表等,为了保存统计数据,需要分别存储球员姓名和比赛中的分数。@Damp算出了,这正是我想要的,非常感谢!preg_match.*\d{1,3}-\d{1,3}.*.$string,$array;然后根据第一个单词是first name,其余的是last name,简单地分解这两个name元素。我点击什么来感谢Damp?有声誉按钮吗有效的、经过深思熟虑的答案,尽管我用正则表达式实现了稍微自动化一点的方法。无论如何,谢谢你的帮助!