Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1361 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Remplacer des [ ] par une balise HTML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Remplacer des [ ] par une balise HTML

n°1400068
wewen1
Sex, drugs and Rock'N Roll
Posté le 04-07-2006 à 11:40:43  profilanswer
 

Salut tt le monde,
 
J'utilise un script en javascript qui met un textearea en forme avec des balises fictives entre crochets du genre , comme vous l'avez fait sur ce forum.
 
J'enregistre le tout dans une BDD MySQL.
 
J'aimerai pouvoir afficher le texte enregistré en transformant les crochets en balises HTML standard.
Donc faire -> <a href="Ce qu'il y a entre mes balises crochets">Ce qu'il y a entre mes balises crochets</a>.
 
 
Ca fait 2 jours que je cherche sur le web et j'ai pas trouvé de trucs qui marche vraiment bien.
 
Quelqu'un peut-il m'expliquer comme faire svp ?  :)  
 
Merci d'avance.

mood
Publicité
Posté le 04-07-2006 à 11:40:43  profilanswer
 

n°1400149
wewen1
Sex, drugs and Rock'N Roll
Posté le 04-07-2006 à 12:52:17  profilanswer
 

J'ai trouvé une manière avec preg_replace() mais maintenant mon souci est de pouvoir modifier plusieurs paramêtres.

n°1400184
yves10
Posté le 04-07-2006 à 13:36:40  profilanswer
 

pour remplacer les balises d'adresses :  
 
$texte = preg_replace('!\[adresse\](.+)\[/adresse\]!iU', '<a href="$1">$1</a>', $texte);

 
encore un exemple, pour mettre des titres par exemple
 
 
$texte = preg_replace('!\[titre\](.+)\[/titre\]!iU', '<h1>$1</h1>', $texte);

 
 
tu vois qu'en fait le gros y est, tu n'as qu'a chager le nom et t'ajoutes des options

Message cité 1 fois
Message édité par yves10 le 04-07-2006 à 13:37:39
n°1400289
wewen1
Sex, drugs and Rock'N Roll
Posté le 04-07-2006 à 14:29:33  profilanswer
 

yves10 a écrit :

pour remplacer les balises d'adresses :  
 
$texte = preg_replace('!\[adresse\](.+)\[/adresse\]!iU', '<a href="$1">$1</a>', $texte);

 
encore un exemple, pour mettre des titres par exemple
 
 
$texte = preg_replace('!\[titre\](.+)\[/titre\]!iU', '<h1>$1</h1>', $texte);

 
 
tu vois qu'en fait le gros y est, tu n'as qu'a chager le nom et t'ajoutes des options


 
Merci pour ces exemples.
 
Maintenant, comme je le disais, mon souci est le suivant:
j'ai un textarea dans lequel j'insère pusieurs "fausses" balises.
Ex: [url] et [gras]
 
Lorsque je récupère le contenu de ce bloc dans ma base de données, j'ai une seule variable du type :
$row_text = $row['text']
 
Je voudrais pouvoir afficher cette variable en changeant les fausses balises en HTML.
Il faut donc que pour 1 seule variable je fasse un preg_replace de plusieurs balises.
 
(Je sais pas si je suis super clair).
 
Bon en gros je vais essayé ça :

Code :
  1. $text = preg_replace (preg_replace('!\[url\](.+)\[/url\]!iU', '<a href="$1">$1</a>', $row_text);
  2. $text .= preg_replace ('!\[gras\](.+)\[/gras\]!iU', '<b>$1</b>', $row_text);
  3. echo $text;

n°1400292
wewen1
Sex, drugs and Rock'N Roll
Posté le 04-07-2006 à 14:30:40  profilanswer
 

pardon il ya un erreur. J'ai fait une répétition de preg dans la première ligne.

n°1400301
afbilou
pouet your life
Posté le 04-07-2006 à 14:44:39  profilanswer
 

preg_replace peut recevoir des tableaux en arguments.
MMMmm il faudrait pouvoir mettre la main sur une doc de preg_replace ... seulement on a aucune piste :/

n°1400306
afbilou
pouet your life
Posté le 04-07-2006 à 14:48:28  profilanswer
 

Code :
  1. function parse($msg)
  2. {
  3. $tab = array(
  4. '#\[u\](.*)\[/u\]#Ui' => '<strong>$1</strong>',
  5. '#\[b\](.*)\[/b\]#Ui' => '<big>$1</big>',
  6. '#\[i\](.*)\[/i\]#Ui'   => '<em>$1</em>',
  7. '#\[url\](.+)\[/url\]#Ui' => '<a href="$1">$1</a>'
  8. );
  9. return(preg_replace(array_keys($tab) , array_values($tab) , $msg));
  10. }


Message édité par afbilou le 04-07-2006 à 14:51:43

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Remplacer des [ ] par une balise HTML

 

Sujets relatifs
Remplacer / Supprimer des données dans un fichier txtRésolu [XML JDOM] création de balise commentaire
[HTML] - menu deroulant modded facon dawa |:HTML - mettre une image de fond une seule fois
[HTML] Traitement du signe Euro par Opéra (et les autres)Afficher du VBA dans une page HTML
HTML pb de placementEnvoi Mail html avec inline image
[RESOLU][HTML]Video en streamingremplacer une URL dans une string par une balise html [Résolu]
Plus de sujets relatifs à : Remplacer des [ ] par une balise HTML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR