Я хочу установить определенный метатитл для хешированного URL-адреса javascript. Я хочу установить его через PHP, чтобы при сканировании Google метатитл уже был там.
Пример страницы: https://weslaydragons.com/en/shop/#!/men+long+sleeve+shirts?q=P25
В этом URL / en / shop / находится страница wordpress, а #! / Men + long + рукава + рубашки? Q = P25 устанавливается javascript.
У меня есть этот код в functions.php, чтобы попытаться установить заголовок:
if (is_page(194) and (strpos($url, 'men+long+sleeve+shirts') !== false))
{$new_title = "long sleevetitle";};
return $new_title;
Но как мне получить «мужчины + длинный + рукав + рубашки» или «? Q = P25» в переменной $ url?
Есть ли способ получить введенный пользователем URL-адрес в PHP?
Хорошо, что это знание могло бы сэкономить мне часы, ха-ха, большое спасибо. Есть другой способ сделать это?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать комбинацию strpos() и substr();
Нравится:
$string = "https://weslaydragons.com/en/shop/#!/men+long+sleeve+shirts?q=P25";
var_dump(substr($string,strpos($string,'?'))); // output '?q=P25'
Он перережет всю струну и оставит только ее часть? в конец.
Метод взрыва:
Или вы можете использовать альтернативный метод разнесения, подобный этому, который гарантирует, что он будет нацелен только на последний элемент с вопросительным знаком.
$string= "https://weslaydragons.com/en/shop/#!/men+long+sleeve+shirts?q=P25";
$string2= explode('?',$string);
var_dump(end($string2)); // output 'q=P25'
Обновлено: оба метода также будут работать с "#", просто замените '?' с участием '#'.
Ссылки:
http://php.net/manual/bg/function.strpos.php
http://php.net/manual/bg/function.substr.php
Фрагмент URL-адреса (
#...) никогда не отправляется на сервер.