我有一个看起来像这样的HTML列表:
我希望获取()
内的所有值,并使其像$sum = 45+36+96;
我该怎么做? 感谢
答案 0 :(得分:5)
假设html内容已经在像$ list这样的php变量中,
preg_match_all('{<li>[a-zA-Z\s]*\s\(([0-9]*)\)</li>}', $list, $matches);
$sum = array_sum($matches[1]);
对于<li><span><a href="">
,您可以将正则表达式修改为类似
preg_match_all('{<li>(["=a-zA-Z<>\s]*)\s\(([0-9]*)\)([/a-zA-Z<>\s]*)</li>}',
$list, $matches);
$sum = array_sum($matches[2]);
答案 1 :(得分:0)
给定任何字符串,这将匹配并求和括号之间的所有数值:
preg_match_all('|\((\d+)\)|', $str, $matches);
$sum = array_sum($matches[1]);