查找结尾的斜杠并删除所有,然后删除斜杠

时间:2019-02-18 14:43:15

标签: php regex string

我有一个如下所示的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,'/');

有什么想法吗?

1 个答案:

答案 0 :(得分: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, '/'));

谢谢。