Как установить Metatitle для введенного пользователем URL-адреса хэширования JavaScript через PHP

Я хочу установить конкретный метатитл для хэшированного URL-адреса javascript. Я хочу установить его через PHP, чтобы при сканировании Google метатит уже был.

Пример страницы: https://weslaydragons.com/en/shop/

В этом url / en / shop / находится страница wordpress, а #!/ Men + длинный + рукав + рубашки? Q =P25 устанавливается javascript.

У меня есть этот код в functions.php, чтобы попытаться установить заголовок:

if (is_page(194) and (strpos($url, 'men+long+sleeve+shirts') !== false)) 
{$new_title = "long sleevetitle";}; 
return $new_title;

Но как я могу получить 'men+long+ рукав + рубашки' или '? Q =P25' в переменной $url?

Есть ли способ получить введенный пользователем URL в PHP?

1 ответ

Вы можете использовать комбинацию 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'

Изменить: Оба метода будут работать с "#", просто замените '?' с '#'.

Refs:

http://php.net/manual/bg/function.strpos.php

http://php.net/manual/bg/function.substr.php

http://php.net/manual/bg/function.end.php

http://php.net/manual/bg/function.explode.php

Другие вопросы по тегам