将全名的字符串拆分为名字

时间:2018-04-04 12:08:49

标签: php regex

我知道此问题已在此处得到解答,但其他问题中提出的不同功能对我没有任何帮助 - 我尝过了一些。

我有这个字符串,其中有三个名称,每次加载时都会从我的数据库输出:

$string = "Joe Hansen, Carl Clarkson Clinton, Miranda Cobweb Fisher-Caine";

我只想输出:

$string = "Joe, Carl, Miranda";

我试过这个:click - 但它只在某些情况下输出名字,而不是每次都输出。这个有一个简单的解决方案吗?我也试过爆炸和内爆,但也没有让它工作。

3 个答案:

答案 0 :(得分:1)

这样的东西?

<?php
$string = "Joe Hansen, Carl Clarkson Clinton, Miranda Cobweb Fisher-Caine";

$names = explode(",", $string);
$firstNames = array_map(function($name) {
    $split = explode(" ", trim($name));
    return reset($split);
}, $names);

echo implode(", ", $firstNames);

答案 1 :(得分:1)

首先,您可以将explode()字符串与逗号,分开。然后经历循环。 并使用substr()获取数组中的名字,然后使用,进行内爆。

$string = "Joe Hansen, Carl Clarkson Clinton, Miranda Cobweb Fisher-Caine";
$names = explode(",", $string);

$firstNames = array();
foreach($names as $name){
    $firstNames[] = substr(trim($name), 0, strpos(trim($name), " "));
}
echo implode(", ", $firstNames);

答案 2 :(得分:0)

首先在yarn add stylus stylus-loader --dev上展开字符串,循环遍历数组,然后将元素推入新数组并将其内爆。

,