如何解决PHP strpos() 未按预期运行
我正在尝试清理我在数据库中的 URL,但是我确实脑子有问题。这是 PHP 101 级别的东西,但我真的无法弄清楚以下片段有什么问题:
<?PHP
$domain = 'http://www.example.com';
echo "\n\n\e[31mBeginning Domain is: $domain\n";
if (strpos($domain,'//')){
$domain = explode( '//',$domain)[1];
echo "\n\e[33mRemoving HTTP\n";
}
echo "\n\n\e[35mAfter first IF domain is: $domain\n";
if (strpos($domain,"www.")){
echo "\n\e[33mREMOVING WWW\n";
$domain = explode( "www.",$domain)[1];
}
echo "\n\n\e[35mAfter second IF domain is: $domain\n";
die("\n\n\e[31m$domain\n\n");
运行时..我期待一个“干净”的example.com
——但是我的输出看起来像:
Beginning Domain is: http://www.example.com
Removing HTTP
After first IF domain is: www.example.com
After second IF domain is: www.example.com
www.example.com
为什么 if (strpos($domain,"www.")){
没有输入 if
?
解决方法
为什么不正确调试代码?只要 strpos($domain,"www.")
以 0
开头,并且计算结果为 $domain
,www
就会返回 false
。
通过正确检查strpos($domain,"www.")
是否返回完全 false
,您可以修正您的算法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。