找到尾部斜杠并删除后面的全部然后删除斜杠

问题描述 投票:0回答:1

我有一个看起来如下的URL:

https://db.ygoprodeck.com/card/Qliphort%20Shell/

在我的PHP代码中,我修改了卡片后的所有代码以获取名称(用于设置SEO标签):

$cname = $_SERVER['REQUEST_URI'];
$cname = substr($cname, strpos($cname, "card/") +6);   
$cname = substr($cname, 0, -1);

这是按预期工作的。问题是,当我从主域名链接到此子域名时,Google Analytics会在最后添加一个标记:

https://db.ygoprodeck.com/card/Qliphort%20Shell/?_ga=2.211230173.973474856.1550500277-1234167223.1550500277

所以现在我的SEO标签会受到影响。我需要小心删除斜杠,因为通常可以有一个包含斜杠的名称:

https://db.ygoprodeck.com/card/D/D/D%20Rebel%20King%20Leonidas/

我需要找到最后一个斜杠并删除它之后的所有内容,然后我可以使用像rtrim这样的东西来删除最后一个斜杠。

$newurl= rtrim($url,'/');

有任何想法吗?

php regex string
1个回答
1
投票

您可以通过strrpos()方法获取最后一个斜杠的位置,然后通过substr_replace()删除该位置之后的字符串

喜欢,

$url = "https://db.ygoprodeck.com/card/Qliphort%20Shell/?_ga=2.211230173.973474856.1550500277-1234167223.1550500277";
echo $new = substr_replace($url,'',strrpos($url, '/'));

谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.