Найти косую черту и удалить все после нее, а затем удалить косую черту - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть 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 голосов
/ 18 февраля 2019

Вы можете получить позицию последней косой черты с помощью метода 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, '/'));

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...