Je fais un site de recherche où les utilisateurs peuvent trouver des choses avec ma table. La recherche fonctionne très bien, mais je souhaite pouvoir autoriser les utilisateurs à effectuer une recherche à la place avec un résultat Google ou Bing. Je voudrais que les gens identifient qu'ils veulent utiliser un moteur de recherche spécifique en indiquant un/après la requête. Par exemple, une recherche de something/google enverrait la recherche à Google. De même pour Bing.Comment trouver et identifier une partie spécifique d'une chaîne?
Répondre
Si vous êtes à la recherche Google et Bing, ou un petit nombre de moteurs de recherche, vous pouvez essayer:
if (strpos('/google',$_GET['q']) !== false) {
header('Location: http://www.google.com/q='.str_replace('/google','',$q).'+site:example.com');
exit;
} else if (strpos('/bing',$_GET['q']) !== false) {
header('Location: http://www.bing.com/search?q='.str_replace('/bing','',$q).'+site:example.com');
exit;
}
Remarque , vous devez l'ajouter à votre page avant que le texte ne soit envoyé au tampon de sortie de PHP (en raison de l'appel de la fonction header()). Cela signifie, avant que PHP a été chargé d'écrire quelque chose sur la page. Sinon, vous obtiendrez une erreur sur votre page PHP.
Désolé, j'avais un 'exemple' supplémentaire après un des q et j'ai oublié de changer le drapeau le Bing str_replace. –
Vous pouvez utiliser une expression rationnelle pour extraire ces parties de la chaîne de requête. par exemple.
preg_match_all('(?=^|\s)/[a-z]+\b', $query, $matches)
Permet de retirer tous les jetons qui ont commencé avec une barre oblique et qui ont été suivis par une ou plusieurs lettres de votre requête. Vous pourriez alors lire ces jetons et décider des mesures à prendre pour chacun d'entre eux.
Cette solution d'expression rationnelle est robuste car elle devrait permettre à ces jetons (séparés par des espaces) d'apparaître n'importe où dans votre chaîne de requête, ou même d'avoir plusieurs jetons dans une chaîne de requête.
Vous pouvez également utiliser preg_replace(...)
pour supprimer ces jetons de la requête afin de pouvoir traiter le reste du texte de recherche.
Merci pour ça! –
Utilisez preg_match pour vérifier la dernière partie de la chaîne de recherche pour /search_engine
.
si elle existe les rediriger ensuite
http://www.google.com/search?q=site%3Adomain.com+search+string
Pour quelque chose comme ça, strpos est un meilleur outil à utiliser. Voir le manuel: http://us.php.net/manual/fr/function.preg-match.php –
- 1. Coupez une partie spécifique dans une chaîne
- 2. Trouver chaque enregistrement DB, identifier et supprimer une partie d'une chaîne, resave puis enregistrement à DB
- 3. trouver une partie spécifique d'une variable?
- 4. séparant une ligne de code pour trouver une partie spécifique
- 5. Remplacer une partie spécifique d'une chaîne
- 6. Trouver une partie d'une chaîne et lui ajouter un attribut?
- 7. Trouver une chaîne/tableau dans une partie d'une chaîne
- 8. Regex pour trouver l'appariement sur une partie d'une chaîne et non une autre partie
- 9. Identifier les dossiers avec une chaîne spécifique en Python
- 10. Comment identifier une connexion TCP spécifique
- 11. Comment identifier les symboles lowecase et spéciaux dans une chaîne?
- 12. Essayer de sélectionner une partie spécifique d'une chaîne avec regex
- 13. Comment trouver dans une chaîne comme '{$ formLocation}' la partie 'Location'?
- 14. Comment trouver uniquement une partie exacte d'une chaîne dans mysql?
- 15. PHP ou Javascript - Trouver une chaîne spécifique
- 16. supprimer tout sauf une partie spécifique d'une chaîne en javascript
- 17. rubis trouver et remplacer la partie de chaîne
- 18. comment trouver un caractère spécifique dans une chaîne
- 19. Extrait une partie spécifique d'une chaîne en PHP
- 20. Extraire une partie spécifique de la chaîne de connexion
- 21. Comment diviser une chaîne et trouver l'occurrence d'une chaîne dans une autre chaîne?
- 22. Lire un fichier texte pour trouver une chaîne spécifique et lire une autre chaîne associée
- 23. Comment lire une partie spécifique d'un fichier
- 24. Comment stocker et récupérer une partie spécifique de l'arborescence XML?
- 25. Extraire une partie spécifique d'une chaîne avec regex
- 26. Pour obtenir une partie spécifique d'une chaîne en C#
- 27. obtenir une partie spécifique de la chaîne avec l'expression régulière
- 28. Calabash android tactile partie spécifique dans une chaîne
- 29. Comment imprimer une partie spécifique d'un fichier?
- 30. Identifier le texte suivant une chaîne spécifique avec le pilote Web Selenium IE et JAVA
Ceci est assez large. Quelle est exactement votre question? –
Faire correspondre un suffixe? http://stackoverflow.com/questions/619610/whats-the-most-efficient-test-of-whether-a-php-string-ends-with-another-string – ide