0

コンマ区切りの文字列からメールを削除しようとしています。メールを送信するスクリプトがあります。これをすばやく行う方法:

$cadena = "Example1@email.com,0001,00005,0010,Example3@email2.com,003";

$cadena = explode(",", $cadena);        

foreach($cadena as $res){
    if(filter_var($res, FILTER_VALIDATE_EMAIL)){
        $result[] = $res;
    }
}

結果:

array(Example1@email.com,Example3@email2.com);

しかし、私は必要です:

string "0001,00005,0010,003"
4

2 に答える 2

4

電子メールとして検証される場合は結果配列に追加するため、検証しない場合は追加するように変更します!

$cadena = explode(",", $cadena);        

foreach($cadena as $res){
    if(!filter_var($res, FILTER_VALIDATE_EMAIL)){
        $result[] = $res;
    }
}

次に、それだけimplode()です:

$result = implode(',', $result);
于 2016-04-27T21:17:01.430 に答える
1

メールを見つけて削除しようとする代わりに、文字列内の他のすべてのものを例のように信頼できる場合は、is_numeric.

$result = implode(',', array_filter(explode(',', $cadena), 'is_numeric'));

保持したい値がたまたまあなたの例で数値だったとしても、気にしないでください。

于 2016-04-27T21:46:25.030 に答える