CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Expressions régulières

bobcolas
bobcolas
Niveau 9
14 décembre 2003 à 12:00:34

Salut,

J´ai un petit problème d´expressions régulières... J´avoue que j´ai un peu de mal et je ne comprend pas tout dans ces expressions !

Voilà mon problème, je fais une shoutbox très simple, j´ai mis un htmlentities pour que ça n´accepte pas l´HTML, c´est logique...
Mais je souhaiterai qua quand on mette entre < b> et < /b> quelque chose, ça se mette quand même en gras, juste pour le gras, après je saurais me débrouiller pour le souligné et l´italique :)

Je pense, même preque certains qu´il faut utiliser la fonction ereg(i)_replace, j´ai essayé plein de possibilité, en vain. La variable du message est $msg.
Merci beaucoup de m´aider.

@+ Colas

freedix
freedix
Niveau 10
14 décembre 2003 à 12:42:54

$msg = eregi_replace(´& l t ; b& g t ; ([a-z]+)& l t ; /b& g t ; ´, ´<b>\\1</b>´, $msg);

Tu replaces les espaces à & l t ; et & g t ;
Voilà :)

Blawk
Blawk
Niveau 10
14 décembre 2003 à 13:19:47

<
>

héhé...

bobcolas
bobcolas
Niveau 9
14 décembre 2003 à 13:20:16

Merci, je vais essayer

bobcolas
bobcolas
Niveau 9
14 décembre 2003 à 13:35:09

Non, ca ne marche pas, je vous envoie quand même le code :

_______________________

$msg = htmlentities($msg);

$msg = eregi_replace("<b>([a-z]+)</b>", " <b>\\1</b>", $msg);

$msg = nl2br ( $msg);

________________________________

J´essaie plein de truc, mais non, rien... Dans la bdd, c´est tjrs sous la forme < et > . ..

Une autre solution ? :)

Blawk => Ca fait plaisir de te revoir !

bobcolas
bobcolas
Niveau 9
14 décembre 2003 à 13:36:49

lol !

en fait :

regi_replace("& l t; b& g t;([a-z]+)& l t;/b& t;",

et

Dans la bdd, c´est tjrs sous la forme & t; et & t; .

freedix
freedix
Niveau 10
14 décembre 2003 à 13:54:39

Mon code marche parfaitement, je l´ai testé :)

Blawk
Blawk
Niveau 10
14 décembre 2003 à 14:14:32

Aller, je vous donne une petite astuce pour éviter les confusins:

&lt;

pour faire apparaitre

<

bobcolas
bobcolas
Niveau 9
14 décembre 2003 à 15:42:48

Ouais, en fait j´ai remis ton code et ca a marché :p Je sais aps ce que j´ai foutu tout à l´heure !

jarose
jarose
Niveau 10
14 décembre 2003 à 17:27:40

pourquoi ( [a-z]+) ? => ( .*) . ..

freedix
freedix
Niveau 10
14 décembre 2003 à 17:33:54

Pour le [a-z], oui, j´avais pas pensé qu´il pouvait y avoir des caractères autres que des lettres. Mais pour le +, c´est bon, je suppose que celui qui met quelque chose en gras, va y mettre plus de 1 caractère quand même ( au moins 2) :)

jarose
jarose
Niveau 10
14 décembre 2003 à 17:38:41

pas besoin de " +" quand il y´a " .*"

freedix
freedix
Niveau 10
14 décembre 2003 à 17:55:10

Le . représente un caractère quelconque et le signe * indique qu´il peut y avoir au minimum 1 seul caractère. C´est ça ?

bobcolas
bobcolas
Niveau 9
14 décembre 2003 à 18:16:52

le * signifie que c´est 0 zéro ou plusieurs répétions

freedix
freedix
Niveau 10
14 décembre 2003 à 18:21:05

Donc autant mettre le + car personne ne mettra zero caractères entre ces deux balises :)

jarose
jarose
Niveau 10
14 décembre 2003 à 20:13:21

ça revient au même, pourquoi vouloir casser les couilles jusqu´au bout ? à la base je t´ai même pas parlé du " +".

bobcolas
bobcolas
Niveau 9
15 décembre 2003 à 07:08:36

de toute facon c´est pareil...!

MathieuN7
MathieuN7
Niveau 10
03 septembre 2004 à 16:57:46

allez, un ptit :up: parce que j´ai la flemme d´en recréer un autre! :lol:

Voilà mon problème: pour le livre d´or du site du forum, je fais un petit formulaire qui demande le pseudo, le mail, l´url du site et le message.

J´utilise une expression régulière pour remplacer une url du type http://(ou https:// ou ftp://https://www.jeuxvideo.com//)www.siteduzero.com par un lien pointant vers cette url dans le message et dans l´affichage du site du posteur...

En essayant avec une longue url, je m´aperçois qu´elle déforme complètement le tableau!!!

J´aimerais donc qu´avec ma regex je puisse couper l´url, et mettre [...] au milieu ( en gros, exactement comme sur jv)

J´ai réfléchi longtemps, et je ne vois pas de solution ( en plus jcommence à avoir mal à la tete :rire: ) ; même avec une fonction externe je ne pourrais pas, car il faudrait insérer une variable dans mon preg_replace(), ce qui est impossible dans la recherche d´une url dans le message!!

Donc si quelqu´un avait une solution pour mon problème, ça m´frait bien plaisir!

Je vous donne l´expression régulière qui me sert à détecter la présnece d´url dans le message, ça vous donnera une idée de ce que je veux faire :-)))

$msg =
preg_replace(´!(https?|ftp)://((w{3}\.)?)([a-z0-9_
.%/-]*)(\?([a-z0-9_.&%/=-]+)*)?!´, ´<a href="$0">$0</a>´, $msg[´msg´]);

Merci d´avance!

Oo_Sauron_oO
Oo_Sauron_oO
Niveau 9
03 septembre 2004 à 17:12:55

Malheureusement j´ai abandonné le php, je ne peux donc pas t´aider . ..

Je pense m´y remettre dans pas longtemps.

MathieuN7
MathieuN7
Niveau 10
03 septembre 2004 à 17:20:34

erf :-(

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment