Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/02/2007, 14h30   #1
Invité de passage
 
Inscription : octobre 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 11
Points : 2
Points : 2
Par défaut rewriting php to html

Bonjour,

j'en suis à mon premier url rewrinting... j'ai réussi à écrire correctement les règles de réécriture dans le fichier .htaccess.
ex .htaccess :
Code :
1
2
 
RewriteRule ^test-([0-9]+)\.html$ index.php?page=test&id=$1 [L]
Cette règle me permet d'appeler la page index.php?page=test&id=5 lors de l'appelle de test-5.html

Maintenant, d'après ce que j'ai compris, il faudrait que je crée une fonction php permettant le contraire, c'est à dire de réécrire tout mes liens, right?
je voudrais savoir si le mécanisme expliqué ci dessous est le bon... N'y a t il pas une façon de procéder plus rapide? quelle est la meilleur façon de convertir les url php en html?
Code :
1
2
3
4
5
6
7
8
<?php
//dans l'exemple urlHTML devrait être égal à test-5.html
function phptohtml(urlPhp){
   ...
   return urlHTML;
}
?>
<a href="<?php phptohtml('index.php?page=test&id=5')?>">test5</a>
merci,
smellycat37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2007, 14h44   #2
Membre à l'essai
 
Inscription : janvier 2003
Messages : 28
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 28
Points : 21
Points : 21
Ben si déjà tu comptes modifier tous tes liens, pourquoi ne pas les mettre directement sous la forme HTML ?

Exemple :
Code :
1
2
 
<a href="test-5.html">test5</a>
Ou bien encore, si tu récupères l'id d'une base de données ou d'un traitement quelconque :
Code :
1
2
3
4
 
<?php
echo "<a href=\"test-".$id.".html\">test".$id."</a>";
?>
defkid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2007, 14h49   #3
Invité de passage
 
Inscription : octobre 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 11
Points : 2
Points : 2
parce qu'ils sont déjà écris en php. donc le fait de créer une fonction m'éviterait de tous les réécrire mais que ca soit automatique...
smellycat37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2007, 15h11   #4
Membre à l'essai
 
Inscription : janvier 2003
Messages : 28
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 28
Points : 21
Points : 21
C'est un choix, tu vas de toute façon devoir éditer les liens

Bref, tu devrais regarder du côté de la fonction preg_replace : http://fr.php.net/manual/fr/function.preg-replace.php

A mon avis ça donnerait quelque chose de ce genre :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php
//dans l'exemple urlHTML devrait être égal à test-5.html
function phptohtml(urlPhp)
{
   $pattern = "/index.php?page=test&id=([0-9]+)/";
   $replacement = "test-$0.html";
   urlHTML = preg_replace($pattern,$replacement,$urlPhp);
   return urlHTML;
}
?>
Je ne te promets rien, je ne suis pas un spécialiste des expressions régulières
defkid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h07.


 
 
 
 
Partenaires

Hébergement Web