2013-03-04 87 views
0

如何確保它只有一個http://在一個字符串中?如何確保在一個字符串中只有一個http://?

$url = "http://mysite.com/http://http://mysite.com/"; 

# set the regex for checking. 
$regex = '/^\bhttp:\b\/\/.*/'; 

# reject the url address if it doesn't match 
if (!preg_match($regex, $url)) echo 'false'; 
+2

它是有效的URL,你爲什麼要過濾它? – nhahtdh 2013-03-04 18:14:47

+0

@nhahtdh顯然,有效性以外的原因。 – showdev 2013-03-04 18:21:22

+0

我希望他不使用這個來過濾「壞」的URL。 – nhahtdh 2013-03-04 18:35:47

回答

3

您可以使用strrpos

if (strrpos($url, "http://") > 0) { 
    // reject 
} 
+0

感謝您的答案Mathieu! :-) – laukok 2013-03-04 18:20:06

+1

@lauthiamkok不客氣! – Tchoupi 2013-03-04 18:21:12

1

它是非常有用的諮詢the manual page
它包含更好的解決方案,你可以從單純的路人在Stackoverflow找到更好的解決方案。

簡而言之,並不是很難瀏覽幾十個功能,只是爲了讓自己成爲一張照片。

您可以輕鬆地從標題

if (substr_count($url,"http://") > 1) 

這將不僅在開始針的任何位置,努力找到一個強大的answer的問題。

還有其他方式,包括strpos與偏移等等。

+0

非常感謝您的回答和建議! – laukok 2013-03-04 18:52:34

相關問題