$text = '26061235+1234567,A1227011';
のような文字列がある場合は、 8文字より短い文字列または非数字文字を含む文字列を出力します。文字列に関連するエラーを出力するには
私の予想される出力は、1234567
とA1227011
です。
1234567
の長さは7文字です。 A
が含まれているため、 A1227011
です。
これは私が書いたコードです。
$text = '26061235+1234567,A1227011';
$splitted = preg_split('/[(or),\+]/', $text);
$splitted = array_filter($splitted); // remove any empty string
foreach($splitted as $str)
{
if(!is_numeric($str) || strlen($str)<=8)
{
$error=preg_replace('/\d+/','',$str);
echo "this $error is not fine";
}
}
しかし、私は、出力には、結果を取得しない
罰金ではないではないのですか?私はこれが正しいことを理解していません。 'A1227011'は8です – Andreas
デリミタとは何ですか?区切り記号として使用されているプラスとカンマの両方が表示されます。 –
@Andreas私は質問を読んだ(間違っている可能性がありますが)それは数字と8桁未満です_or_ a-zと0-9の両方を含む文字列です。 –