2011-04-17 48 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)