我有这个字符串
$url = offer?offer_id={{offer_category_id}}&item{{offer_title}}
有没有办法如何使用{{}}中的文本创建一个php数组,从而产生类似于
的数组$array[0] = 'offer_category_id'
$array[1] = 'offer_title'
这就是我所拥有的,但它没有按预期工作
preg_match("/{{([^\"]*)\}}/", $url , $cols);
答案 0 :(得分:1)
使用preg_match_all
:
preg_match_all("/{{([^\"}]+)\}}/", $url , $cols);
答案 1 :(得分:1)
我认为它应该是(你可能需要使用旗帜来获得所需的订单):
preg_match_all("/{{([^}]+)\}}/", $url , $cols, PREG_SET_ORDER);
答案 2 :(得分:1)
此代码将提供您的值:
$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
)