简化PHP代码和Regex

时间:2012-04-17 12:22:15

标签: php regex

我可以使用一些帮助来简化包含正则表达式语句的以下代码。我只是试图从包含在较大文本中的所有可能的子串中获取整数,然后将这些整数推送到数组中。我知道我不应该使用split,但我忘记了如何使用regex。

    preg_match_all('/bar:foo\(?[0-9]*\);/', $in , $tag);
    for ($i = 0; $i < count($tag[0]); $i++) {
        $parts = explode("(", $tag[0][$i]);           
        $parts2 = explode(")", $parts[1]);
        array_push($myArr, $parts2[0]);
    }

2 个答案:

答案 0 :(得分:3)

实际上,您可能不需要使用preg_split,但您可以通过修改当前模式来改进它:

$numbers = preg_match_all('/bar:foo\(?([0-9]*)\);/', $in , $matches) 
           ? array_map('intval', $matches[1])
           : array();

答案 1 :(得分:1)

preg_match_all('/bar:foo\(?([0-9]*)\);/', $in , $tags);
print_r($tags);