如何在Php字符串中搜索空格?

如何在Php字符串中搜索空格?,php,html,whitespace,spaces,Php,Html,Whitespace,Spaces,我想知道如何在Php中搜索空间 例如,我得到了$Studentname,它的值是John Green。我想要$Name(带值John)和$Name(带值绿色)。但我不知道如何在字符串中搜索空间。 提前感谢从学生姓名中获取姓名和用户名 $Studentname = 'John Green'; $name = explode(' ',$Studentname); $firstname = $name[0]; //output john $lastname = $name[1]; //output g

我想知道如何在Php中搜索空间 例如,我得到了
$Studentname
,它的值是John Green。我想要
$Name
(带值John)和
$Name
(带值绿色)。但我不知道如何在字符串中搜索空间。
提前感谢

从学生姓名中获取姓名和用户名

$Studentname = 'John Green';
$name = explode(' ',$Studentname);
$firstname = $name[0]; //output john
$lastname = $name[1]; //output green

要从学生姓名中获取姓名和用户名,请遵循以下步骤

$Studentname = 'John Green';
$name = explode(' ',$Studentname);
$firstname = $name[0]; //output john
$lastname = $name[1]; //output green
通过使用空格作为分隔符,可以使用函数将字符串拆分为数组:

$names = explode(" ", "John Smith");
但是,您可能希望考虑一些人做一些愚蠢的事情,比如在名字和姓氏之间加上两个空格,或者在前面或后面加空格

您可以使用以下命令删除尾随空格和前导空格:

$fullName = " John Smith ";
$trimmedName = trim($fullName); // Assigns "John Smith"
您还可以使用删除名字和姓氏之间的多个空格:

$fullName = "John     Smith";
$cleanedName = preg_replace("/\s+/", " ", $fullName); // Assigns "John Smith"
上述代码将用单个空格替换一个或多个(
+
)连续空格(
\s
)。

您可以使用该函数将字符串拆分为数组,方法是使用空格作为分隔符:

$names = explode(" ", "John Smith");
但是,您可能希望考虑一些人做一些愚蠢的事情,比如在名字和姓氏之间加上两个空格,或者在前面或后面加空格

您可以使用以下命令删除尾随空格和前导空格:

$fullName = " John Smith ";
$trimmedName = trim($fullName); // Assigns "John Smith"
您还可以使用删除名字和姓氏之间的多个空格:

$fullName = "John     Smith";
$cleanedName = preg_replace("/\s+/", " ", $fullName); // Assigns "John Smith"

上述代码将用单个空格替换一个或多个(
+
)连续空格(
\s
)。

第一个建议:-

  • 当您使用html表单时,尝试在两个不同的字段中使用名字和姓氏

  • 如果无法执行上述操作,请使用以下代码:-

    <?php
    
    $Studentname = 'John Green';
    $student_full_name = explode(' ',trim($Studentname));//trim to remove space from starting and ending and explode to break string when space found
    $first_name = $student_full_name[0];//output John
    $sur_name = $student_full_name[1];//output Green
    ?>
    
    
    

  • 注意:-如果用户输入“John Green smith”或“John(多个空格)Green”之类的名称,会发生什么情况。这就是为什么要做第一点。

    第一个建议:-

  • 当您使用html表单时,尝试在两个不同的字段中使用名字和姓氏

  • 如果无法执行上述操作,请使用以下代码:-

    <?php
    
    $Studentname = 'John Green';
    $student_full_name = explode(' ',trim($Studentname));//trim to remove space from starting and ending and explode to break string when space found
    $first_name = $student_full_name[0];//output John
    $sur_name = $student_full_name[1];//output Green
    ?>
    
    
    
  • 注意:-如果用户输入“John Green smith”或“John(多个空格)Green”之类的名称,会发生什么情况。这就是为什么要使用第一个点。

    使用
    explode()
    没有限制将导致不正确的结果。有些名字和姓氏有空格。例如:

    $name = explode(" ","Jan Van Riebeck");
    echo $name[0]." ".$name[1]; // Jan Van (incorrect)
    
    
    $name = explode(" ","St. John Westcox");
    echo $name[0]." ".$name[1]; // St. John (incorrect)
    
    使用带有限制的
    explode()
    (因此它只返回2项),如下所示:

    $name = explode(" ","Jan Van Riebeck",2);
    echo $name[0]." ".$name[1]; // Jan Van Riebeck (correct)
    
    这在某些时候仍然是不正确的,但是更多的姓有空格,而不是名。理想情况下,如果您要捕获表单数据,请为“名字”和“姓氏”使用两个不同的字段,但即使这并不总是理想的,有些区域性也有不同的名称工作方式,而不像“姓氏”那么简单

    在使用名称时,如果使用
    explode()
    而没有限制,则会导致错误的结果。有些名字和姓氏有空格。例如:

    $name = explode(" ","Jan Van Riebeck");
    echo $name[0]." ".$name[1]; // Jan Van (incorrect)
    
    
    $name = explode(" ","St. John Westcox");
    echo $name[0]." ".$name[1]; // St. John (incorrect)
    
    使用带有限制的
    explode()
    (因此它只返回2项),如下所示:

    $name = explode(" ","Jan Van Riebeck",2);
    echo $name[0]." ".$name[1]; // Jan Van Riebeck (correct)
    
    这在某些时候仍然是不正确的,但是更多的姓有空格,而不是名。理想情况下,如果您要捕获表单数据,请为“名字”和“姓氏”使用两个不同的字段,但即使这并不总是理想的,有些区域性也有不同的名称工作方式,而不像“姓氏”那么简单



    使用名称时的常见陷阱

    使用explode进行分隔,然后使用infrade添加空格
    $data=explode(“”,$Studentname)$name=$data[0]$姓氏=$data[1]如果fulname分为两部分表示一个空格,最好让用户在不同的字段中输入这些,如果可能的话,不是所有的名字和姓氏都是单个单词(有些有空格),例如:St.John、Van Rensberg、Di Estos等。使用explode分隔,而不是使用Inclode添加空格
    $data=explode(“”,$Studentname)$name=$data[0]$姓氏=$data[1]如果fulname分为两部分表示一个空格,最好让用户在不同的字段中输入,如果可能的话,不是所有的名字和姓氏都是单个单词(有些有空格),例如:St.John、Van Rensberg、Di Estos等。为什么两次爆炸?你能告诉我吗?@A-2-A现在快乐吗?也许你是落选的选民,如果你现在是时候改变你的投票了now@devpro你能猜到为什么人们会放弃投票吗?我不明白到底有什么。A-2-A谢谢,伙计。首先,我的兄弟不要责怪@A-2-A他说他不是一个失败者第二,我也不是失败者我纠正了你的代码为什么两次爆炸?你能告诉我吗?@A-2-A现在快乐吗?也许你是落选的选民,如果你现在是时候改变你的投票了now@devpro你能猜到为什么人们会放弃投票吗?我不明白到底有什么。A-2-A谢谢。首先,我的兄弟不要责怪@A-2-A,他说他不是一个失败者第二,我也不是一个失败者,我纠正了你的代码,已经检查了你的答案,最好的一个给我,并给你奖励。干杯准备检查你的答案最好的一个给我,并给你奖励以及。谢谢你读了我的建议,我写下这张便条,告诉他一个最好的解决方案。你也可以读我的建议,我写下这张便条,告诉他一个最好的解决方案