Je voudrais savoir si un mot est présent dans l'URL.
Par exemple, si le mot voiture est dans l'URL, comme www.domain.com/car/ ou www.domain.com/car/audi/, il ferait écho à «voiture existe» et s'il n'y a rien, il ferait écho à «pas de voitures» .
Cela dépend également si vous recherchez simplement le mot voiture ou si vous voulez également le type de voiture ou de voitures. Vous pourriez avoir besoin de preg_match, strpos, explode et in_array / array_search, cela dépend vraiment. si vous voulez quelque chose de simple, utilisez simplement les strpos comme suggéré
C'est une bonne solution, mais méfiez-vous simplement que cela correspondra à une URL qui a une voiture n'importe où. Par exemple, www.domain.com/car-pricingou www.domain.com/carparksvalidera et sortira Car exists. Peut-être que cela n'a pas d'importance dans votre cas, mais pour d'autres, cela pourrait être pertinent!
Javacadabra
Exactement je cherche Great!
Vignesh Krishnamoorthy
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];echo count(strpos($url,'category'));me donne 1indépendamment du fait qu'il categoryexiste dans l'URL ou non. Une idée pourquoi?
Si8
66
Je pense que le moyen le plus simple est:
if(strpos($_SERVER['REQUEST_URI'],"car")!==false){// car found}
Parfait ... J'avais besoin de faire correspondre example.com/events/pagename pour trouver toutes les URL contenant des "événements" et cela fonctionne!
Tingo
J'ai utilisé ceci plusieurs fois la semaine dernière sur 4 projets différents. Facile. Merci.
Pegues
Cela ne teste pas l'URL complète; seulement le chemin. Il ne testera pas le schéma, le domaine, le port, les paramètres de requête ou le fragment.
kloddant
22
$url =" www.domain.com/car/audi/";if(strpos($url,"car")!==false){
echo "Car here";}else{
echo "No car here :(";}
// Check if URL contains the word "car" or "CAR"if(stripos($_SERVER['REQUEST_URI'],'car')!==false){
echo "Car here";}else{
echo "No car here";}
Si vous souhaitez utiliser HTML dans l'écho, assurez-vous d'utiliser '' au lieu de "".
J'utilise ce code pour afficher une alerte sur ma page Web https://geaskb.nl/
où l'URL contient le mot "Omnik"
mais masquez l'alerte sur les pages qui ne contiennent pas le mot «Omnik» dans l'URL.
Les paramètres d'URL et reçus d'une variable globale appelée $_GETqui est en fait un tableau. Ainsi, pour savoir si une URL contient un paramètre, vous pouvez utiliser la isset()fonction.
if(isset($_GET['yourparametername'])){//The parameter you need is present}
Ensuite, vous pouvez créer un tableau séparé de ces paramètres que vous devez attacher à une URL.
Par exemple:
if(isset($_GET['param1'])){
\\The parameter you need is present
$attachList['param1']= $_GET['param1'];}if(isset($_GET['param2'])){
$attachList['param2']= $_GET['param2];
}
Maintenant, pour savoir si vous avez besoin d'un ?symbole ou non, comptez simplement ce tableau
if(count($attachList)){
$link .="?";// and so on}
Mettre à jour:
Pour savoir si un paramètre est défini, comptez simplement le $ _GET
Cela répond à la question mais il existe de meilleures méthodes pour le faire ... Cette fonction renvoie une chaîne commençant par le caractère trouvé ... la strpbrk()documentation peut être trouvée ici
s($_SERVER['REQUEST_URI'])->contains('car')
utile, comme trouvé dans cette bibliothèque autonome .Réponses:
Essayez quelque chose comme ça. La première ligne construit votre URL et le reste vérifie si elle contient le mot «voiture».
la source
www.domain.com/car-pricing
ouwww.domain.com/carparks
validera et sortiraCar exists
. Peut-être que cela n'a pas d'importance dans votre cas, mais pour d'autres, cela pourrait être pertinent!$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
echo count(strpos($url,'category'));
me donne1
indépendamment du fait qu'ilcategory
existe dans l'URL ou non. Une idée pourquoi?Je pense que le moyen le plus simple est:
la source
Voir
strpos
manuella source
la source
travaillé pour moi avec php
la source
strstr n'existait pas à l'époque?
Cela doit être l'une des méthodes les plus simples, non?
la source
Jetez un œil à la fonction strpos :
la source
Vous pouvez essayer une méthode .htaccess similaire au concept de fonctionnement de wordpress.
Référence: http://monkeytooth.net/2010/12/htaccess-php-how-to-wordpress-slugs/
Mais je ne sais pas si c'est exactement ce que vous recherchez.
la source
Cela semble fonctionner.
la source
C'est sûrement le bon chemin ...
Sinon, son rapport est le contraire, il devrait ...
la source
Cela a fonctionné pour moi:
la source
Les paramètres d'URL et reçus d'une variable globale appelée
$_GET
qui est en fait un tableau. Ainsi, pour savoir si une URL contient un paramètre, vous pouvez utiliser laisset()
fonction.Ensuite, vous pouvez créer un tableau séparé de ces paramètres que vous devez attacher à une URL.
Par exemple:
Maintenant, pour savoir si vous avez besoin d'un
?
symbole ou non, comptez simplement ce tableauMettre à jour:
Pour savoir si un paramètre est défini, comptez simplement le $ _GET
la source
la source
vous pouvez utiliser cette fonction comme ce code monsieur
la source
(> PHP 5)
la source
strpbrk()
documentation peut être trouvée ici