Php can';不要让ucfirst()处理变量
我已经做了一个代码,从电子邮件中获取名字和姓氏,$firstname是大写的,但$lastname不是。为什么?Php can';不要让ucfirst()处理变量,php,Php,我已经做了一个代码,从电子邮件中获取名字和姓氏,$firstname是大写的,但$lastname不是。为什么? <html> <body> <?php $email = "test.testt@testing.com"; $firstname = ucfirst(strtok(strtok($email, "@"), ".")); $lastname = substr(strtok(strtok($em
<html>
<body>
<?php
$email = "test.testt@testing.com";
$firstname = ucfirst(strtok(strtok($email, "@"), "."));
$lastname = substr(strtok(strtok($email, "@"), ".") . ' ' . strtok("."), strrpos(strtok(strtok($email, "@"), ".") . ' ' . strtok("."), ' '));
$lastname = ucfirst($lastname);
echo $firstname.$lastname;
?>
</body>
</html>
输出:测试testt
任何帮助都将不胜感激空间确实是问题所在,我使用
$lastname=ucfirst(str_replace(“”,$lastname))修复了它代码>除了实际的问题是空间之外,您的代码还要执行大量搜索和切碎字符串的操作
您可以通过先使用@
然后使用
来简化它。然后在最后一次操作的每个部分上使用ucfirst
$names = explode("@", $email);
// Get first 2 parts of name and split it by the .
[$firstname, $lastname] = explode(".", $names[0], 2);
$firstname = ucfirst($firstname);
$lastname = ucfirst($lastname);
echo $firstname . ' ' . $lastname;
$lastname
以space开头,可能trim()函数将代替auf str_replace,如$lastname=ucfirst(trim($lastname))