2014-03-25 40 views
0

我在PHP中的牛逼,我试图找出我怎么能添加的preg_match给我的脚本 需要一些帮助如何添加验证is_array”

这是我想补充的是什么:我有几个他们

if (!preg_match("/^[a-zA-Z ]*$/",$name)) 
{ 
    $nameErr = "Only letters and white space allowed"; 
} 

。这是我的脚本:

foreach ($_POST as $name => $wert) { 
    if (is_array($wert)) { 
    foreach ($wert as $einzelwert) { 
     $mailtext .= $name.$trenner.$einzelwert."\n"; 
    } 
    } 
    else { 
    $mailtext .= $name.$trenner.$wert."\n"; 
    } 
} 

我不得不略低于添加它和每个“$ WERT” seperatly

非常感谢

+0

OT:使用你的代码的德语不是一个好主意。例如,它使得StackOverflow上的非德语用户很难理解。 BitteÄndern;-) –

+1

好的,将改为英文。 – user3450822

回答

0

您可能想要做的是编写一个验证输入的函数/方法。但只有当你所有的输入都有相同的验证规则。

的你可以做什么的例子:

function validateInput($input) { 
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) 
    { 
    // handle error 
    } 
    else { 
    return true; 
    } 
} 

foreach ($_POST as $name => $wert) { 
    if (is_array($wert)) { 
    foreach ($wert as $einzelwert) { 
     if (validateInput($einzelwert) === TRUE) { 
     $mailtext .= $name.$trenner.$einzelwert."\n"; 
     } 
    } 
    } 
    elseif (validateInput($einzelwert)) { 
    $mailtext .= $name.$trenner.$wert."\n"; 
    } 
} 
+1

谢谢Andresch。那么这是否意味着无法验证输入是否有不同的规则' – user3450822

+0

@ user3450822'欢迎您使用。点击答案左侧投票选项下方的小箭头接受答案。这样它将被标记为已解决。 –

+0

@ user3450822另外,是的,这是可能的。也许你想看看Validator Libaries和Tools,比如symfony2验证器:http://symfony.com/doc/current/book/validation.html你也可以定义一个匹配输入和规则的映射。但我想谷歌有更多的信息;-) –