如何使用php分割字符串?
例如,我有一个表,其中列是人的全名。
wholename
-------------
Smith, John B.
Pascal, Mary Anne A.
Dela Cruz, James Mark
然后我想将其拆分为三个部分lastname
,firstname
,middleinital
lastname firstname middleinitial
---------- ---------- ----------
Smith John B.
Pascal Mary Anne A.
Dela Cruz James Mark
然后我想把它输出到一个网站。到目前为止,我的代码只将整个名称存储在会话字符串中。
答案 0 :(得分:0)
以下是Split first and last name的答案。
现在使用变量$firstName
,你得到中间名,其中第一个名字有点。
if(strpos($nome, "."))
{
$middlename = substr($firstname, strrpos($firstname, " "));
$firstname = substr($firstname, 0, strrpos($firstname, " "));
}
答案 1 :(得分:0)
假设使用此格式,您可以使用此正则表达式执行此操作:
$regex = '/(?P<lastname>[a-zA-Z ]+)\,\s(?P<firstname>[a-zA-Z ]+)(\s(?P<middleinitial>\w\.)|$)/';
$wholenames = ['Smith, John B.', 'Pascal, Mary Anne A.', 'Dela Cruz, James Mark'];
foreach ($wholenames as $wholename) {
preg_match($regex, $wholename, $matches);
var_dump($matches['lastname']);
var_dump($matches['firstname']);
var_dump($matches['middleinitial']);
echo "-------------\n";
}
输出:
string(5) "Smith"
string(4) "John"
string(2) "B."
-------------
string(6) "Pascal"
string(9) "Mary Anne"
string(2) "A."
-------------
string(9) "Dela Cruz"
string(10) "James Mark"
NULL
-------------