我有一个名为“姓名”的表单字段 - 但我想将提交内容保存到数据库中作为名字&使用preg表达式的姓氏。
有些人可以说明如果我将“John Smith”这个名字输入到该字段中,正则表达式会将其删除为名字 - John Surname - Smith
提前致谢
答案 0 :(得分:2)
对于简单的情况,您可能只想用空格分割名称:
$name = "John Smith";
$nameParts = explode(' ',$name);
var_dump($nameParts);
更复杂的情况(例如标题/中间名)可能会迫使您使用多个输入字段。
答案 1 :(得分:2)
$names = explode(" ", $POST['name']);
$firstName = $name[0];
$lastName = $name[1];
然而,这绝对是一个残酷的想法。只需创建名字和姓氏表格字段即可。我保证在某些时候会有人像阿尔弗雷德·E·纽曼这样的东西,你们最终会将他们的姓名作为姓氏。
答案 2 :(得分:0)
首选使用split
(版本php< 5.3.0)或explode
这是split
函数的别名,在您的情况下,您只需要将您的全名与空格分开字符' '
var $fullname = "John Smith";
var $splitfullname = $fullname.split(' ');
var $firstname = $splitfullname[0];
var $lastname = $splitfullname[1];
-
var $fullname = "John Smith";
var $splitfullname = explode(' ', $fullname);
var $firstname = $splitfullname[0];
var $lastname = $splitfullname[1];
如果你构建了捕获firstname和fullname的表单,我建议你将你的fullname输入字段拆分为两个输入字段(firstname和lastname)。
答案 3 :(得分:0)
使用explode
:
<?php
$fullname='John Smith';
list ($firstName,$lastName)=explode(' ',$fullname);
echo 'First name: '.$firstName.PHP_EOL;
echo 'Last name: '.$lastName.PHP_EOL;
答案 4 :(得分:0)
刚刚创建了这个函数以防万一其他人有类似的问题 - 感谢所有的建议人员!