Gostaria de saber se alguma palavra está presente no URL.
Por exemplo, se a palavra carro estiver no URL, como www.domain.com/car/ ou www.domain.com/car/audi/, ela ecoará 'carro é existe' e, se não houver nada, será exibido 'sem carros' .
Isso também depende se você está procurando apenas a palavra carro ou se também deseja o tipo de carro ou carros. Você pode precisar de preg_match, strpos, explode e in_array / array_search, realmente só depende. se você quiser algo simples, use strpos conforme sugerido
É isso que eu estava procurando. Perfeito, obrigado.
JunaidFarooqui
1
Essa é uma boa solução, mas fique atento para que ela corresponda a um URL que tenha carro em qualquer lugar. Por exemplo, www.domain.com/car-pricingou www.domain.com/carparksvalidará e produzirá Car exists. Talvez não importe no seu caso, mas para outros pode ser relevante!
Javacadabra
Exatamente estou procurando Ótimo!
Vignesh Krishnamoorthy
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];echo count(strpos($url,'category'));dá-me 1independentemente de categoryexistir ou não no Url. Alguma ideia do porquê?
Si8
66
Acho que a maneira mais fácil é:
if(strpos($_SERVER['REQUEST_URI'],"car")!==false){// car found}
// Check if URL contains the word "car" or "CAR"if(stripos($_SERVER['REQUEST_URI'],'car')!==false){
echo "Car here";}else{
echo "No car here";}
Se você quiser usar HTML no eco, certifique-se de usar '' em vez de "".
Eu uso este código para mostrar um alerta em minha página da web https://geaskb.nl/
onde o URL contém a palavra "Omnik"
mas oculte o alerta em páginas que não contenham a palavra "Omnik" no URL.
Os parâmetros de URL são recebidos de uma variável global chamada $_GETque é na verdade uma matriz. Então, para saber se um URL contém um parâmetro, você pode usar a isset()função.
if(isset($_GET['yourparametername'])){//The parameter you need is present}
Posteriormente, você pode criar uma matriz separada de tal parâmetro que você precisa anexar a um URL.
Por exemplo:
if(isset($_GET['param1'])){
\\The parameter you need is present
$attachList['param1']= $_GET['param1'];}if(isset($_GET['param2'])){
$attachList['param2']= $_GET['param2];
}
Agora, para saber se você precisa ou não de um ?símbolo, basta contar este array
if(count($attachList)){
$link .="?";// and so on}
Atualizar:
Para saber se algum parâmetro está definido, basta contar o $ _GET
Isso responde à pergunta, mas existem métodos melhores para fazer isso ... Esta função retorna uma string começando com o caractere encontrado ... a strpbrk()documentação pode ser encontrada aqui
s($_SERVER['REQUEST_URI'])->contains('car')
útil, conforme encontrado nesta biblioteca independente .Respostas:
Experimente algo assim. A primeira linha cria seu URL e o resto verifica se ele contém a palavra "carro".
fonte
www.domain.com/car-pricing
ouwww.domain.com/carparks
validará e produziráCar exists
. Talvez não importe no seu caso, mas para outros pode ser relevante!$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
echo count(strpos($url,'category'));
dá-me1
independentemente decategory
existir ou não no Url. Alguma ideia do porquê?Acho que a maneira mais fácil é:
fonte
Veja o
strpos
manualfonte
fonte
trabalhou para mim com php
fonte
strstr não existia naquela época?
Este deve ser um dos métodos mais fáceis, certo?
fonte
Dê uma olhada na função strpos :
fonte
Você pode tentar um método .htaccess semelhante ao conceito de como funciona o wordpress.
Referência: http://monkeytooth.net/2010/12/htaccess-php-how-to-wordpress-slugs/
Mas não tenho certeza se é isso que você está procurando exatamente.
fonte
Isso parece funcionar.
fonte
Certamente esta é a maneira correta de contornar ....
Caso contrário, ele está relatando da maneira oposta que deveria ...
fonte
Isso funcionou para mim:
fonte
Os parâmetros de URL são recebidos de uma variável global chamada
$_GET
que é na verdade uma matriz. Então, para saber se um URL contém um parâmetro, você pode usar aisset()
função.Posteriormente, você pode criar uma matriz separada de tal parâmetro que você precisa anexar a um URL.
Por exemplo:
Agora, para saber se você precisa ou não de um
?
símbolo, basta contar este arrayAtualizar:
Para saber se algum parâmetro está definido, basta contar o $ _GET
fonte
fonte
você pode usar esta função como este código senhor
fonte
(> PHP 5)
fonte
strpbrk()
documentação pode ser encontrada aqui