php - 如何在不使用 PHP explode() 的情况下在逗号之后获取
问题描述
我知道我可以按照以下方式执行此操作,但是是否有一种单行方法,例如使用正则表达式将逗号之前的所有内容作为 $first 并将逗号之后的所有内容作为 $second?
$data = "m-12,s-52";
$arr = explode(",", $data);
$first = $arr[0];
$second = $arr[1];
解决方案
您可以获得$first
并$second
使用这一行正则表达式代码
$data = "m-12,s-52,s-52";
$beforefirstcomma = preg_replace("/,(.+)/", "", $data);
$afterlastcomma = preg_replace("/(.+),/", "", $data);
$afterfirstcomma = preg_replace("/^[^,]+,+/", "", $data);
// outputs
echo $beforefirstcomma; // m-12
echo "<br>";
echo $afterlastcomma; // s-52
echo "<br>";
echo $afterfirstcomma; // s-52,s-52
最后
一点
我仍然推荐使用explode()
,因为它比在字符串上运行preg_replace()
多次更高效和高效。$data