如果一个字符串不包含它就把一个http://放在字符串上,否则在php中忽略字符串

时间:2014-01-02 10:06:31

标签: php string boolean href strpos

我试图在字符串上放一个 http:// ,如果它不包含它,然后忽略该字符串,如果它已经存在问题是它不会忽略它字符串,如果它确实包含它,这是我的代码:

if(strpos($_POST['test-website'], "http://") === false || strpos($_POST['test-website'], "https://") === false){
    $url = "http://".$_POST['test-website'];
}else
    $url = $_POST['test-website'];

//Value: test.com
//Result: http://test.com

//Value: http://test.com
//Result: http://http://test.com

//Value: https://test.com
//Result: http://https://test.com

2 个答案:

答案 0 :(得分:4)

您应该使用=== false代替!== truestrpos永远不会返回true

if(strpos($_POST['test-website'], "http://") === false || strpos($_POST['test-website'], "https://") === false) {

答案 1 :(得分:0)

  

strpos()返回针相对于的位置   haystack字符串的开头(与offset无关)。返回   如果没有找到针,则为FALSE。它不会返回true。

if(strpos($_POST['test-website'], "http://") === false || strpos($_POST['test-website'], "https://") === false