2010-12-12 203 views
0

我想创建一个表单,它基本上是一个文本区域,其中包含新行的电子邮件地址:php - > foreach循环

例如,

<textarea> 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected] 
</textarea> 

然后我想这种形式提交到PHP页面,这将分裂的e-mail地址,并把它们放入一个循环,这样我就可以在300封电子邮件列表粘贴到文本区域,以这种格式,然后提交表单,它会为每个单独的电子邮件做一个foreach循环(通过电子邮件发送)。

有人请解释我将如何分开单独的电子邮件地址,然后将它们处理成循环?

多谢

+1

听起来像是垃圾邮件的食谱,特别是如果窗体没有适当的安全......这是,如果这不是什么初衷了。 – 2010-12-12 22:41:09

+0

这是一个我将使用自己发送电子邮件给我的订户列表的表单,不用我把它们放入数据库并从那里运行,让事情变得更简单,只需将它们全部粘贴到文本区域并提交它。它不会被其他人使用,只是一个管理工具,让事情变得更简单。 – Latox 2010-12-12 23:59:42

回答

4

如果电子邮件地址,用逗号分隔,如果你想在多个不同的字符(逗号,换行,空格等)的拆分地址使用

$addresses = explode(',', $textareaValue); 
foreach ($addresses as $address) { 
    $address = trim($address); // Remove any extra whitespace 
} 

使用preg_split代替explode

$addresses = preg_split('/[\s,]+/', $textareaValue); 
+0

谢谢你的回答,今天就去试试吧! – Latox 2010-12-13 00:00:08

1

为了让他们到一个数组,你可以使用PHP的explode功能,拆分基于字符串分隔符串了起来:

$email_addresses = explode(",\n", $email_address_string); 
foreach ($email_addresses as $email_address) { 
    // Process $email_address 
}