dongqin5604 2013-10-30 08:28
浏览 19
已采纳

preg_replace表示特定模式(如果不存在)

I have the url inputs in various formats. I want to convert all into one standard format. Few example inputs are below.

From above all the inputs, I wish to convert into first one (http://www.example.com) with www. So I think we can replace the string if "www" not there.

$pattern = '/((http?|https)\:\/\/)?([a-zA-Z]+)\.example.com\/[a-z]{2}\/[a-zA-Z0-9]{5,30}/i';

I tried this pattern. I know it will match replace everything. SO please suggest me, how to do that.

  • 写回答

2条回答 默认 最新

  • dongtuwu8548 2013-10-30 08:34
    关注
    function to_standard_format($url) {
        $pattern = '#(https?://)?\w+\.example.com(?=[/\s]|$)#i';
        return preg_replace($pattern, 'http://www.example.com', $url);
    }
    
    var_dump(to_standard_format('http://www.example.com'));
    var_dump(to_standard_format('https://in.example.com'));
    var_dump(to_standard_format('http://uk.example.com'));
    var_dump(to_standard_format('http://uk.example.com/blah'));
    var_dump(to_standard_format('uk.example.com'));
    var_dump(to_standard_format('http://www.example.com.au'));
    var_dump(to_standard_format('uk.another-example.com'));
    

    prints

    string(22) "http://www.example.com"
    string(22) "http://www.example.com"
    string(22) "http://www.example.com"
    string(27) "http://www.example.com/blah"
    string(22) "http://www.example.com"
    string(25) "http://www.example.com.au"
    string(22) "uk.another-example.com"
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘