获取并验证带有多行字符串模式的字符串

时间:2011-03-29 07:16:07

标签: php

字符串看起来像这样从数据库中查询:

fname@site.com
添加说明。

<小时/>

我使用此功能验证电子邮件。

email_validator($email){
    $pattern = "/^[a-z]+[a-zA-Z0-9]*[\.|\-|_]?[a-zA-Z0-9]+@([a-zA-Z]+[a-zA-Z0-9]*[\.|\-]?[a-z]+[a-zA-Z0-9]*[a-zA-Z0-9]+){1,4}\.[a-z]{2,4}$/sm";
    if(preg_match($pattern,$email)){
        $result = 1;
        //$result = $match;
    } else {
        $result = 0;
    }
    return $result;
}

类似的功能也应该返回电子邮件地址。

如何修改验证以包含换行符。

3 个答案:

答案 0 :(得分:0)

您为什么要退回电子邮件?

如果你使用param(在你的情况下是一封电子邮件)调用一个方法,你就不需要得到这个参数了。你已经知道了。

答案 1 :(得分:0)

function parse_thingy($text){
    $temp=str_replace(array(chr(13).chr(10),chr(10)),chr(13),$text);
    $temp=explode(chr(13),$temp,2);
    return array('email'=>$temp[0],'desc'=>$temp[1]);
}

答案 2 :(得分:0)

我刚改变了模式

$pattern = "/(.+.@.+\.com)/";

现在我可以获取电子邮件部分并将其传递给更严格的验证。