2012-04-17 14 views
0

正規表現を含む次のコードを単純化する助けをいくつか使うことができます。私は、より大きいテキストに含まれる可能性のあるすべての部分文字列から整数を取得し、それらの整数を配列にプッシュしようとしています。私は分割を使う必要はないはずですが、正規表現でやる方法を忘れてしまいます。PHPコードと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]); 
    } 

答えて

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

実は、あなたはpreg_splitを使用する必要がないかもしれませんが、あなたはすでにあなたの現在のパターンを変更することによって、それを改善することができます

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