如何基于PHP中的字符数量拆分字符串?

时间:2012-06-30 23:09:54

标签: php string split

如何根据字母数字和/或数字分割字符串,使它们成为单独的字符串?

希望这是有道理的。谢谢你的帮助(:

例如: 用户输入:

  1. Henry,Smith ID:123456
  2. 我想将用户输入分类为单独的字符串,结果为:

    $name = 'Henry, Smith';
    $ID = '123456';
    

1 个答案:

答案 0 :(得分:2)

您可以使用正则表达式仅匹配数字和除数字之外的所有内容。

$number = preg_replace("/[^0-9]/", '', $str);
$name = preg_replace("/[0-9]/", '', $str);

注意,对于name,这将从您的问题示例中返回Henry, Smith ID:。这只是取出数字......它不知道“ID:”不是一个人姓名的一部分。

插入符号的说明(^):

括号内部表示匹配括号内的所有内容。所以[^0-9]匹配除数字之外的所有内容。在这个例子中,它将用空白(第二个参数)替换不是数字的所有内容。对于$name,我们正好相反。我们用空白替换所有带数字的数字,以获得非数字字符。

有关正则表达式的详细信息,请参阅here