2017-07-14 81 views
1

我知道在PHP中使用explode()函数很容易在两个斜线之间提取字符串。如果该字符串是这样的:如何使用preg_match_all()匹配两个已知点之间的子串?

localhost/used_cars/search/mk_honda/md_city/mk_toyota 

我想mk_后提取串起来,直到像斜线:hondatoyota

这里是我的代码:

$input = 'localhost/used_cars/search/mk_honda/md_city/mk_toyota'; 
preg_match('#/mk_([^/]*)/#', $input, $matches); 
echo $matches[1]; 

的代码只从mk_honda提取honda但为什么它没有得到来自mk_toyotatoyota

回答

1

首先,你不使用preg_match_all,第二是没有/在第二件事toyota所以它不匹配结束后,将其删除:

preg_match_all('#/mk_([^/]*)#', $input, $matches); 
print_r($matches[1]); 
相关问题