添加www。如果它不在字符串中

时间:2014-05-23 09:17:05

标签: php regex

如果其中包含www.,如何使用正则表达式进行字符串检查。
如果字符串不包含www.,那么它应该被添加到字符串前面。
我可以使用什么PHP功能?

stackoverflow.com

应该是:

www.stackoverflow.com

4 个答案:

答案 0 :(得分:3)

试试:

$input = 'stackoverflow.com';
if (strpos($input, 'www.') !== 0) {
  $input = 'www.' . $input;
}

答案 1 :(得分:2)

我很确定你最好使用parse_url而不是正则表达式:

<?php
$url = '//www.example.com/path?googleguy=googley';

// Prior to 5.4.7 this would show the path as "//www.example.com/path"
var_dump(parse_url($url));
?>

The above example will output:

array(3) {
  ["host"]=>
  string(15) "www.example.com"
  ["path"]=>
  string(5) "/path"
  ["query"]=>
  string(17) "googleguy=googley"
}

一旦你有一个很好的分割片段,检查主机是非常简单的。

答案 2 :(得分:1)

$str = "stackoverflow.com";

if(substr($str, 0, 4)!="www.")
{
  $str = "www.".$str;
}

echo $str;

DEMO

答案 3 :(得分:1)

试试这个

   if(!preg_match("/^w{3}[.]/", $string))
    {
       $string = "www.".$string;
    }

编辑: 校正

输入:wwwut.example.com - &gt; 输出:www.wwwut.example.com