我的信息PHP substr问题

时间:2017-11-21 16:06:27

标签: php substr

我正在做的是个人信息资料。这没有什么可复杂的,但我试图从3个不同的字符串中拉出首字母,我只是想弄明白。我把我的代码的图像放了,任何信息都会很棒。我不是在找人做,只是给我一些提示并指出我的方向。

        echo "<br>";
        $firstName = "Harvey";
        $middleName = "Joseph";
        $lastName = "Glick";
        $fullName = $firstName . " " . $middleName . " " . $lastName;
        $initialsName = substr($fullName, 0, -9);    // needs some work
        $houseNumber = "110";
        $street = "Jones Street";
        $streetAddress = $houseNumber . " " . $street;     // needs some work

1 个答案:

答案 0 :(得分:0)

您需要在每个名称部分使用substr,而不是将所有三个部分组合在一起。

你正在拍摄fullname的第一个角色。这与仅使用firstname的第一个字符相同。

粗略的例子:

$first = 'GivenName';
$mid = 'Middle';
$surname = 'Surname';
$f_initial = substr($first, 0, 1);
$m_initial = substr($mid, 0, 1);
echo $f_initial . ' ' . $m_initial . ' ' . $surname;

演示:https://3v4l.org/FsEQO

注意:您拥有的图片和您更新的文字不同。此

substr($fullName, 0, -9);

从字符串的右边开始,然后转到9个字符。, 0, 1)更近了。你也可以用正则表达式完成这个。

替代正则表达式方法:

$firstName = "Harvey";
$middleName = "Joseph";
$lastName = "Glick";
$fullName = $firstName . " " . $middleName . " " . $lastName;
echo preg_replace('/([A-Z])[a-z]+\h+/', '$1 ', $fullName);

演示:https://3v4l.org/mX0LH

根据更新,真实示例:https://3v4l.org/JiM7u

$firstName = "Harvey";
$middleName = "Joseph";
$lastName = "Glick";
$f_initial = substr($firstName, 0, 1);
$m_initial = substr($middleName, 0, 1);
echo $f_initial . ' ' . $m_initial . ' ' . $lastName;