Je veux prendre l'URL de la page en cours (en utilisant la page: env ("caller")) et en extraire une section.analyse l'URL avec les expressions régulières et la méthode de remplacement de KRL
Par exemple, je veux prendre
http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=cats
et affecter
cats
à une variable.
Comment est-ce que je ferais ceci avec KRL?
J'ai essayé
url = page:env("caller");
query = url.replace("http://www\.google\.com/search\?sourceid=chrome&ie=UTF-8&q=", "");
mais il affecte simplement la page entière: env ("appelant") à la requête variable (par exemple http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=cats). Editer: une solution jQuery fonctionnerait très probablement également.
Edit2: @JAM -
L'instruction select vous ne semble pas au courant de travailler. Je l'ai testé sur http://www.google.com/search?q=cats et il n'a pas tiré. Je ne sais pas si l'URL ne correspond pas à la page vue ou quoi (il semble que cela devrait correspondre à moi).
L'application que je le mettre dans:
ruleset a835x36 {
meta {
name "regex testing2"
description <<
>>
author ""
logging on
}
rule get_query {
select when pageview "http://www.google.com/search.*(?:&|?)q=(\w+)(?:&|$)" setting(query)
notify("Query",query) with sticky = true;
}
}
Aussi, je suis à la recherche d'un moyen plus robuste pour obtenir à la requête, puisque Google a plusieurs façons d'atterrir sur une page de résultats de recherche avec les URL ne ressemblera pas http://www.google.com/search?q=cats. Par exemple, aller sur google et chercher des chats n'a donné que http://www.google.com/webhp?hl=en#sclient=psy&hl=en&site=webhp&source=hp&q=cats&aq=f&aqi=&aql=&oq=&gs_rfai=&pbx=1&fp=8ac6b4cea9b27ecb pour l'URL des résultats. Je suppose que je pourrais analyser n'importe quoi avec une regex, cependant ...
Puisque vous posiez au sujet KRL, nous partons du principe que vous voulez faire le traitement sur le côté serveur KNS. Si vous souhaitez une solution jquery, je suppose qu'il existe déjà une réponse à cette question avec une balise jquery. –