0

正規表現ステートメントを含む次のコードを簡素化するために、いくつかの助けを借りることができます。大きなテキストに含まれるすべての可能な部分文字列から整数を取得し、それらの整数を配列にプッシュしようとしています。分割を使用する必要がないことはわかっていますが、正規表現で行う方法を忘れています。

    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]);
    }
4

2 に答える 2

3

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

$numbers = preg_match_all('/bar:foo\(?([0-9]*)\);/', $in , $matches) 
           ? array_map('intval', $matches[1])
           : array();
于 2012-04-17T12:25:58.053 に答える
1
preg_match_all('/bar:foo\(?([0-9]*)\);/', $in , $tags);
print_r($tags);
于 2012-04-17T12:25:31.120 に答える