2011-04-17 49 views
0

我有一个输入框显示默认文本“输入网络ID在这里...”。我需要拿$inputUri并根据功能checkUrl($string)检查它是否仍然存在。如果文本没有被清除,然后显示addError消息修改功能和如果语句

public function checkUrl($string) 
{ 
    $inputUri = 'Input Network ID Here...'; 
    if(empty($string) || preg_match("#^([A-Z0-9][A-Z0-9_ -]*(?:.[A-Z0-9][A-Z0-9_ -]*)+):?(d+)?/?#i", $string)) 
    { 
     return true; 
    } 
    else 
    { 
     if(isset($this)) 
     { 
      $this->addError("Input Network ID"); 
     } 
     return false; 
    } 
} 
+0

@Delan我试过,如果(isset($这个)|| $ inputUri == $字符串)和 如果(空($ string)|| preg_match(“#^([A-Z0-9] [A-Z0-9_ - ] *(?:。[A-Z0-9] [A-Z0-9_ - ] * )+):?(d +)?/?#i“,$ string)$ inputUri!= $ string)no luck – acctman 2011-04-17 23:40:14

+0

在一个对象中,'$ this'是* always * set – Phil 2011-04-17 23:58:18

回答

1

我认为这个问题是代码永远不会进入else块。

也许你应该第一个if线(3号线)改成这样:

if((empty($string) || preg_match("#^([A-Z0-9][A-Z0-9_ -]*(?:.[A-Z0-9][A-Z0-9_ -]*)+):?(d+)?/?#i", $string) && $string != $inputUri)