0

文字列から数字を取り出す単純な関数が必要です。これらの数値は、さまざまな種類の数値があるため、配列に挿入する前に検証する必要があります。

例えば:

$string ="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec in tortor dui, ac ornare tellus. Aenean condimentum eleifend commodo. Cras commodo magna a enim semper nec vulputate turpis ultricies. Etiam sodales urna quis mauris commodo gravida. Etiam eu varius ligula. Mauris in faucibus ligula. In hac habitasse platea dictumst. Praesent aliquet, ligula et tristique vehicula, leo lorem accumsan nisl, vitae eleifend odio 1234 urna at magna. Integer 123456789 sit amet tincidunt enim. Curabitur eu tellus justo. Duis 987654321 vehicula tortor in eros consequat 12345 id lacinia lacus ornare.";

私が必要とするのは、これらの適格な数字のみを含む配列を取得することです:

  • 123456789
  • 987654321
4

2 に答える 2

3

使用できますpreg_match_all

preg_match_all("/[0-9]{9}/", $string, $match);
print(implode("\n", $match[0]));

教育目的

echo implode("\n", array_filter(explode(" ", $string), function ($a) {
    return is_numeric($a) and strlen($a) == 9;
}));

どちらも出力されます

123456789
987654321
于 2013-01-01T20:50:57.500 に答える
0

preg_match_allあなたが世話をしている機能です。以下のコードは、長さが9文字の任意の数字と一致します。

次に例を示します。

preg_match_all('/[0-9]{9}/', $string, $matches);
echo implode("\n", $matches[0]);

その結果、次のようになります。

123456789
987654321
于 2013-01-01T21:11:01.467 に答える