|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Inscription : mai 2004 Messages : 383 ![]() |
Salut,
J'aimerais fabriquer des variables à partir de ce qu'il y a près # de l'url, exemple d'url que j'ai dans une variable: $url = "http://monsite.com/lespages/#/a/b_pd/bp/429/w/btheme" Avec cette variable il me faudrait pouvoir fabriquer les variables suivantes: Code :
Merci, Vincent. |
||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 173 ![]() |
pourquoi toujours des regexp ?
pour parser une url c'est parse_url, ensuite un explode fera l'affaire
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 | |||
|
Membre habitué
![]() Inscription : mai 2004 Messages : 383 ![]() |
Citation:
Oui, explode est suffisant, par contre, je n'arrive pas à récupérer ce qu'il y a dans l'url après le #. J'ai l'impression d'avoir tout essayé: Code :
http://localhost/pages/#/a/b_pd/bp/429/w/btheme C'est possible ? merci, Vincent. |
|||
|
|
00
|
|
|
#4 | |||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
|
|||
|
|
10
|
|
|
#5 |
|
Membre habitué
![]() Inscription : mai 2004 Messages : 383 ![]() |
D'après ce que j'ai pu lire, il n'est pas possible de récupérer ce qu'il y a après # en php car ce n'est pas envoyé au serveur.
Donc, la solution que j'ai trouvé passe par Javascript et faire une redirection si window.location.hash.length est supérieur à 2 en construisant les variables avec split de javascript qui est l'équivalent d'explode en PHP. |
|
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 722 ![]() |
Citation:
Il faut comprendre que ce caractère # dans une URL est particulier, c'est en quelque sorte une spécification du Web. Tout ce qui précède le # est liée à une ancre, et ceci permet au navigateur de se positionner exactement où ce trouve cette ancre dans la page. C'est cela qui permet de remonter par exemple tout en haut de page en 1 clic, donc sans toucher à l'ascenseur (barre de défilement). Bref, c'est fait pour indiquer la position d'un contenu dans le corps de la page. Recherche des infos concernant les ancres au besoin. Dans ton cas toutes ces infos qui précède le # correspondraient à une autre page, un autre contenu. Par conséquent il ne faudrait pas utiliser ce #, mais un autre caractère (ou séquence) qui cette fois pourra être exploitée coté serveur et te permettre de rechercher le bon contenu, et le renvoyer tout de suite, ceci sans redirection. En passant par du JS + redirection, tu fais perdre du temps aux utilisateurs (un aller/retour client/serveur de trop), ça va augmenter de manière indirecte le trafic coté serveur, donc les ressources aussi. Revois peut être ce point, voir aussi la réécriture.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : septembre 2010 Messages : 7 173 ![]() |
pourquoi ne pas utiliser une adresse classique ?
Code :
http://monsite.com/lespages?a=b_pd&bp=429&w=btheme
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#8 | |||
|
Membre habitué
![]() Inscription : mai 2004 Messages : 383 ![]() |
Citation:
Ce qui compte avant tout c'est la qualité de navigation d'une page à l'autre, si lors d'un partage d'une page on passe par une redirection, c'est pas très grave... Pour ceux que ça intéresse, juste après le <body>: Code :
http://monsite/book.php?bp=456#/bp/455 va devenir http://monsite/book.php?bp=455 Donc, la personne est arrivé sur la page 456, elle va à la page 455 qu'elle souhaite envoyer par mail en copiant/collant l'url: La personne qui clique sur http://monsite/book.php?bp=456#/bp/455 ne va pas se retrouver à la page 456 mais à la page 455. Voila redirection testée sous firefox, safari, opera, chrome, IE 7 et 9. |
|||
|
|
00
|
|
|
#9 | |
|
Membre habitué
![]() Inscription : mai 2004 Messages : 383 ![]() |
Citation:
En plus la redirection n'est utilisée que dans le cas d'un partage de lien, ce qui est rare par rapport à la navigation classique... |
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 722 ![]() |
A titre personnel, quand j'ai besoin de changer un contenu dans une partie d'une page sans recharger la page, j'utilise de l'Ajax (jQuery en autre).
Les iframe, c'est un peu de l'histoire ancienne. A part rares exceptions comme vouloir intégrer une autre page Web dans sa page (ou un PDF, etc ...), pourquoi pas, mais normalement ce n'est pas conforme W3C. Ceci dit, chacun fait comme il veut.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com