PHP 从逗号分隔的字符串中删除电子邮件地址
PHP Remove email addresses from comma separated string
我正在尝试从逗号分隔的字符串中删除电子邮件。我有一个脚本可以给我发送电子邮件。有什么方法可以快速做到这一点:
$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"
如果它确实验证为电子邮件,您将添加到结果数组中,因此将其更改为如果它没有!
验证则添加:
$cadena = explode(",", $cadena);
foreach($cadena as $res){
if(!filter_var($res, FILTER_VALIDATE_EMAIL)){
$result[] = $res;
}
}
然后implode()
它:
$result = implode(',', $result);
如果您可以指望字符串中的所有其他内容与示例中的一样,您可以使用 is_numeric
.
过滤它,而不是尝试查找和删除电子邮件
$result = implode(',', array_filter(explode(',', $cadena), 'is_numeric'));
如果您想要保留的值在您的示例中恰好是数字,没关系。
我正在尝试从逗号分隔的字符串中删除电子邮件。我有一个脚本可以给我发送电子邮件。有什么方法可以快速做到这一点:
$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"
如果它确实验证为电子邮件,您将添加到结果数组中,因此将其更改为如果它没有!
验证则添加:
$cadena = explode(",", $cadena);
foreach($cadena as $res){
if(!filter_var($res, FILTER_VALIDATE_EMAIL)){
$result[] = $res;
}
}
然后implode()
它:
$result = implode(',', $result);
如果您可以指望字符串中的所有其他内容与示例中的一样,您可以使用 is_numeric
.
$result = implode(',', array_filter(explode(',', $cadena), 'is_numeric'));
如果您想要保留的值在您的示例中恰好是数字,没关系。