使用PHP将带有占位符的字符串解析为数组
我有一根这样的绳子使用PHP将带有占位符的字符串解析为数组,php,wildcard,string-parsing,Php,Wildcard,String Parsing,我有一根这样的绳子 $input = '%name (%postcode) <%email>'; 最后呢? 它应该识别任何字符串中通配符方案后面的任何通配符。所以函数也应该转换 '%address (%name)' 到 通配符方案不是固定的,因此如果您有更好的解决方案,可以更改这些方案。我摆弄了sscanf(),但由于输入字符串的格式不同,我需要更灵活的格式,它不适合我的需要。这就可以了: $input = '%name (%postcode) <%email>';
$input = '%name (%postcode) <%email>';
最后呢?
它应该识别任何字符串中通配符方案后面的任何通配符。所以函数也应该转换
'%address (%name)'
到
通配符方案不是固定的,因此如果您有更好的解决方案,可以更改这些方案。我摆弄了sscanf()
,但由于输入字符串的格式不同,我需要更灵活的格式,它不适合我的需要。这就可以了:
$input = '%name (%postcode) <%email>';
preg_match_all('/%(\w+)/', $input, $m);
$wildcards = $m[1];
print_r($wildcards);
array('address', 'name')
$input = '%name (%postcode) <%email>';
preg_match_all('/%(\w+)/', $input, $m);
$wildcards = $m[1];
print_r($wildcards);
Array
(
[0] => name
[1] => postcode
[2] => email
)