我正在试图找出溢出以下网址字符串的最佳方式:
区域FFFFFF_miles-100_profession幅+显影剂
基本上如下:
$area = "FFFFFF";
$miles = 100;
$profession = "web developer";
但是我有脑力障碍,无法找到最有效的方法。有什么建议吗?
感谢。
-Edit-我可以处理任何缺失值,例如:
区域FFFFFF_miles-_profession幅+显影剂
错过里程等。
答案 0 :(得分:4)
$params = explode('_', $input);
foreach($params as $param) {
$kv = explode('-', $param);
${$kv[0]} = str_replace('+', ' ', $kv[1]);
}
这也是缺失值的原因。
答案 1 :(得分:2)
您可以使用preg_split:
preg_split("/[_-]/",...);
答案 2 :(得分:0)
这样的事情:
$paramsStr = 'area-FFFFFF_miles-100_profession-web+developer';
$parts = explode('_', $paramsStr);
foreach($parts as $part) {
$pair = explode('-', $part);
${$pair[0]} = $pair[1];
}