一次输入拆分/解析php表单数据

一次输入拆分/解析php表单数据,php,arrays,string,parsing,split,Php,Arrays,String,Parsing,Split,我不知道如何用这种格式解析这些数据: nameagecity 当名称和城市可以包含多个单词时,用户键入22岁或2岁时可以处理 我真的很感谢任何人在这方面提供帮助或指导 stephanie brown 22 AAA BBB 或 stephanie brown 22岁AAA BBB 或 stephanie brown 22岁AAA BBB 输出如下所示: Name : Stephanie Brown Age : 22 City : AAA BBB 最好是将输入转换为使用空格作为分隔符的explo

我不知道如何用这种格式解析这些数据:

nameagecity

当名称和城市可以包含多个单词时,用户键入22岁或2岁时可以处理

我真的很感谢任何人在这方面提供帮助或指导

stephanie brown 22 AAA BBB

stephanie brown 22岁AAA BBB

stephanie brown 22岁AAA BBB

输出如下所示:

Name : Stephanie Brown
Age  : 22
City : AAA BBB

最好是将输入转换为使用空格作为分隔符的explode数组

然后使用状态来确定您的解析是否包含名称、年龄、地址。年龄是数字,因此很容易从名称->年龄状态移动,年龄后的下一个值应该是地址,除非它的值为“year | yr | yrs”。它不会100%完美,但会起作用。

试试这个:-

$string = 'stephanie brown 22 year AAA BBB';//your input string
$patterns = array();
$patterns[0] = '/year/';
$patterns[1] = '/yr/';

$year_removed_string=preg_replace($patterns, "", $string);
$keywords = preg_split("/[\s]+/", $year_removed_string);

print_r($keywords)
这里的名字和城市应该是一个词,如果是两个词,那么就不能用空格隔开。虽然这不是一个完美的答案,但也会很有帮助。或者,如果输入如下所示,它也可以工作:

stephanie_brown  22 year AAA_BBB

您的输出应该是什么样的?