Preg Match PHP表达式从{{STRING}中的文本捕获数组
我有这根绳子Preg Match PHP表达式从{{STRING}中的文本捕获数组,php,regex,Php,Regex,我有这根绳子 $url = offer?offer_id={{offer_category_id}}&item{{offer_title}} 有没有一种方法可以用{{}中的文本创建一个php数组,从而生成一个类似于 $array[0] = 'offer_category_id' $array[1] = 'offer_title' 这是我所拥有的,但它并没有按我所希望的那样工作 preg_match("/{{([^\"]*)\}}/", $url , $cols); 使用preg\u
$url = offer?offer_id={{offer_category_id}}&item{{offer_title}}
有没有一种方法可以用{{}中的文本创建一个php数组,从而生成一个类似于
$array[0] = 'offer_category_id'
$array[1] = 'offer_title'
这是我所拥有的,但它并没有按我所希望的那样工作
preg_match("/{{([^\"]*)\}}/", $url , $cols);
使用
preg\u match\u all
:
preg_match_all("/{{([^\"}]+)\}}/", $url , $cols);
我认为应该是(你可能需要玩旗子才能得到想要的订单):
此代码将给出您的值:
$str = 'offer?offer_id={{offer_category_id}}&item{{offer_title}}';
if ( preg_match_all('~{\s*{([^}]*)}~i', $str, $m) )
print_r ( $m[1] );
输出:
Array
(
[0] => offer_category_id
[1] => offer_title
)
伟大的人!你知道它为什么输出:数组([0]=数组([0]={offer\u category\u id}}[1]={{offer\u title})[1]=数组([0]=offer\u category\u id[1]=offer\u title])你是什么意思$cols[1]将包含您需要的数组
Array
(
[0] => offer_category_id
[1] => offer_title
)