dphw5101 2016-09-15 03:21
浏览 27
已采纳

Strpos总是给出真实的

I have two type of links which are strings taken from database:

http://www.website.com/anything-else.html
www.website.com/anything-else.html

I need ALL links to be displayed with http:// no matter what so Im using this simple code to determine whether link has http in it and if not add it:

if (strpos($links, 'http') !== true) {
    $linkai = 'http://'.$links;
}

The problem is, it is adding http:// to any link no matter if it has it or not. I tried ==false ect. Nothing works. Any ideas?

  • 写回答

2条回答 默认 最新

  • dongta1824 2016-09-15 03:46
    关注

    Try this

    if (strpos($links, 'http') === false) {
       $linkai = 'http://'.$links;
    }
    

    In strpos documentation says return value not Boolean always.

    "Warning This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function."

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据