[英]php preg_match_all pattern for parentheses
我正在尝试获取两个括号()之间的值的每个实例。 我的函数将返回数组中的每个字符,而不是应返回的两个字符串。 我猜模式中有东西吗? 我一直在尝试不同的方法。 任何帮助,将不胜感激。
$formula = "if([Paid] === 1, 'Need To Pay', 'Paid Up')+if([Paid] === 1, 'Million', 'Good to Go')"
我的课:
<?php
class Formula {
public function explode_formula($formula){
echo $this->get_string_between($formula, "(", ")");
}
public function get_string_between($string, $start, $end){
preg_match_all("~((.+?))~", $string, $m);
print_r($m[1]);
}
}
需要返回:
[Paid] === 1, 'Need To Pay', 'Paid Up'
[Paid] === 1, 'Million', 'Good to Go'
通过转义外部括号来更改您的正则表达式行:
From: preg_match_all("~((.+?))~", $string, $m);
To: preg_match_all("~\((.+?)\)~", $string, $m);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.