实现
判断网址最后一位是不是/如果是则替换成空,不是则不处理。
现有网址:https://www.moleft.cn/要求替换成:https://www.moleft.cn
思路
这种题简直就是送分题,众所周知substr可以截取字符串,所以只需要判断最后一位是不是/就能完成这道题,于是我大手一挥
直接写出下面的代码
<?php
$str = 'https://www.moleft.cn/';
if(substr($str,strlen($str)-1,strlen($str))=='/'){
echo substr($str, 0, strlen($str)-1);
}
?>保存,运行,和预期一样,直接输出了https://www.moleft.cn,但是三行代码不是我的性格,我在想怎么能用最短的代码把这个功能实现出来,于是我又突然想到了trim(),所以直接把代码改成了...
<?php
$str = 'https://www.moleft.cn/';
echo trim($str, '/');
?>再次运行,果然还是达到预期了,不过用trim()好像不太妥当,当我把$str = 'https://www.moleft.cn/';改成了$str = '/https://www.moleft.cn/';,果不其然,最后结果还是https://www.moleft.cn,这就偏离题意了,于是直接改用rtrim(),完美!!!
最终
<?php
$str = 'https://www.moleft.cn/';
if(substr($str,strlen($str)-1,strlen($str))=='/'){
echo substr($str, 0, strlen($str)-1);
}
echo rtrim($str,'/');
?>俗话说的好,能用一行代码坚决不用两行。
如无特殊说明《php - 记一次推敲代码的历程》为博主MoLeft原创,转载请注明原文链接为:https://www.moleft.cn/post-210.html
不就是一个/而已嘛,这个代码有什么实际意义吗?
因为很多人输入习惯不一样,有的人习惯输入http://域名/有的人喜欢http://域名,如果不把最后面的/去掉的话,最后拼接url的时候可能就会出现http://域名//index.php或者http://域名index.php这种情况