我有一个包含一行字符串的变量。我想构建一个函数来使用正则表达式过滤字符串。我想过滤类似" _ {text_one或text_tow}"等形式的字符串。正是在我的这个例子中你可以看到有两个" _ {text_one}和_ {text_two}"。我希望我的函数将它们作为数组["_{text_one}","_{text_two}"]
返回。
我曾尝试使用array_shift()函数,但它只返回一个。
$text = 'L\' utente _{text_one} _{text_tow} ti ha invitato a giocare';
$text_vars = preg_match('#\_{(.*?)\}#', $text, $matches);
$temp = array_shift( $matches );
任何人都可以给我一个可以将它们作为数组获取的功能。
答案 0 :(得分:0)
将preg_match()
更改为preg_match_all()
$text = 'L\' utente _{text_one} _{text_tow} ti ha invitato a giocare';
$text_vars = preg_match_all('#\_{(.*?)\}#', $text, $matches);
$temp = array_shift( $matches );
var_dump($temp);
<强>输出强>:
array(2) {
[0]=>
string(11) "_{text_one}"
[1]=>
string(11) "_{text_tow}"
}