Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中过滤输入文本的值(url地址)_Php_Regex - Fatal编程技术网

在php中过滤输入文本的值(url地址)

在php中过滤输入文本的值(url地址),php,regex,Php,Regex,我有一个表单,其中有一个字段是url地址。 我想在将值插入数据库之前对其进行筛选。 我看三个案例: 输入:mywebsite.com 输入:www.mywebsite.com 输入: 我想永远拿到最后一箱。 谢谢,Daniel试试PHP的本机函数: 这个例子: $urls = array( 'mywebsite.com', 'www.mywebsite.com', 'http://www.mywebsite.com' );

我有一个表单,其中有一个字段是url地址。 我想在将值插入数据库之前对其进行筛选。 我看三个案例:

  • 输入:mywebsite.com
  • 输入:www.mywebsite.com
  • 输入:
我想永远拿到最后一箱。 谢谢,Daniel

试试PHP的本机函数:

这个例子:

    $urls = array(
        'mywebsite.com',
        'www.mywebsite.com',
        'http://www.mywebsite.com'
    );
    echo filter_var($urls[0], FILTER_VALIDATE_URL) ? '+' : '-';
    echo filter_var($urls[1], FILTER_VALIDATE_URL) ? '+' : '-';
    echo filter_var($urls[2], FILTER_VALIDATE_URL) ? '+' : '-';
产出:

--+
尝试PHP的本机函数:

这个例子:

    $urls = array(
        'mywebsite.com',
        'www.mywebsite.com',
        'http://www.mywebsite.com'
    );
    echo filter_var($urls[0], FILTER_VALIDATE_URL) ? '+' : '-';
    echo filter_var($urls[1], FILTER_VALIDATE_URL) ? '+' : '-';
    echo filter_var($urls[2], FILTER_VALIDATE_URL) ? '+' : '-';
产出:

--+
尝试PHP的本机函数:

这个例子:

    $urls = array(
        'mywebsite.com',
        'www.mywebsite.com',
        'http://www.mywebsite.com'
    );
    echo filter_var($urls[0], FILTER_VALIDATE_URL) ? '+' : '-';
    echo filter_var($urls[1], FILTER_VALIDATE_URL) ? '+' : '-';
    echo filter_var($urls[2], FILTER_VALIDATE_URL) ? '+' : '-';
产出:

--+
尝试PHP的本机函数:

这个例子:

    $urls = array(
        'mywebsite.com',
        'www.mywebsite.com',
        'http://www.mywebsite.com'
    );
    echo filter_var($urls[0], FILTER_VALIDATE_URL) ? '+' : '-';
    echo filter_var($urls[1], FILTER_VALIDATE_URL) ? '+' : '-';
    echo filter_var($urls[2], FILTER_VALIDATE_URL) ? '+' : '-';
产出:

--+

这不需要正则表达式;简单的字符串匹配可以:

$urls = array(
    'mywebsite.com',
    'www.mywebsite.com',
    'http://www.mywebsite.com'
);
$newurls = array();
foreach ($urls as $url) {
    if (substr($url, 0, 11) == 'http://www.') {
        $newurls[] = $url;
    } elseif (substr($url, 0, 4) == 'www.') {
        $newurls[] = 'http://' . $url;
    } else {
        $newurls[] = 'http://www.' . $url;
    }
}
var_dump($newurls);
这将输出:

array(3) {
  [0] =>
  string(24) "http://www.mywebsite.com"
  [1] =>
  string(24) "http://www.mywebsite.com"
  [2] =>
  string(24) "http://www.mywebsite.com"
}

虽然这符合您的要求,但假设URL总是以www甚至http开头可能不是一个好主意。

您不需要正则表达式;简单的字符串匹配可以:

$urls = array(
    'mywebsite.com',
    'www.mywebsite.com',
    'http://www.mywebsite.com'
);
$newurls = array();
foreach ($urls as $url) {
    if (substr($url, 0, 11) == 'http://www.') {
        $newurls[] = $url;
    } elseif (substr($url, 0, 4) == 'www.') {
        $newurls[] = 'http://' . $url;
    } else {
        $newurls[] = 'http://www.' . $url;
    }
}
var_dump($newurls);
这将输出:

array(3) {
  [0] =>
  string(24) "http://www.mywebsite.com"
  [1] =>
  string(24) "http://www.mywebsite.com"
  [2] =>
  string(24) "http://www.mywebsite.com"
}

虽然这符合您的要求,但假设URL总是以www甚至http开头可能不是一个好主意。

您不需要正则表达式;简单的字符串匹配可以:

$urls = array(
    'mywebsite.com',
    'www.mywebsite.com',
    'http://www.mywebsite.com'
);
$newurls = array();
foreach ($urls as $url) {
    if (substr($url, 0, 11) == 'http://www.') {
        $newurls[] = $url;
    } elseif (substr($url, 0, 4) == 'www.') {
        $newurls[] = 'http://' . $url;
    } else {
        $newurls[] = 'http://www.' . $url;
    }
}
var_dump($newurls);
这将输出:

array(3) {
  [0] =>
  string(24) "http://www.mywebsite.com"
  [1] =>
  string(24) "http://www.mywebsite.com"
  [2] =>
  string(24) "http://www.mywebsite.com"
}

虽然这符合您的要求,但假设URL总是以www甚至http开头可能不是一个好主意。

您不需要正则表达式;简单的字符串匹配可以:

$urls = array(
    'mywebsite.com',
    'www.mywebsite.com',
    'http://www.mywebsite.com'
);
$newurls = array();
foreach ($urls as $url) {
    if (substr($url, 0, 11) == 'http://www.') {
        $newurls[] = $url;
    } elseif (substr($url, 0, 4) == 'www.') {
        $newurls[] = 'http://' . $url;
    } else {
        $newurls[] = 'http://www.' . $url;
    }
}
var_dump($newurls);
这将输出:

array(3) {
  [0] =>
  string(24) "http://www.mywebsite.com"
  [1] =>
  string(24) "http://www.mywebsite.com"
  [2] =>
  string(24) "http://www.mywebsite.com"
}

虽然这符合您的要求,但假设URL总是以www甚至http开头可能不是一个好主意。

Hi,谢谢您的回答,但它不起作用,因为我需要始终获取和筛选,如果筛选失败,则可能返回false,如果筛选正常,则返回相同的字符串。嗨,谢谢您的回答,但它不起作用,因为如果过滤器失败,我需要始终获取和筛选\u var似乎返回false,如果过滤器工作正常,则返回相同的字符串。嗨,谢谢你的回答,但它不起作用,因为如果过滤器失败,我需要始终获取和筛选\u var似乎返回false,如果过滤器工作正常,则返回相同的字符串。嗨,谢谢你的回答,但它不起作用,因为我需要始终获取,如果过滤器失败,filter_var似乎会返回false,如果过滤器工作正常,则返回相同的字符串。非常感谢Synchro,它工作起来像个符咒。非常感谢Synchro,它工作起来像个符咒。非常感谢Synchro,它就像一个符咒。非常感谢Synchro,它就像一个符咒。