> Tous les forums > Forum des Webmasters
 Fonction Remplacer sans casse en PHP
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Julien02
  Posté le 17/12/2004 @ 23:04 
Aller en bas de la page 
Petit astucien
Hello ! Voilà, j'ai un pb très simple et pourtant qui m'embee bcp.... $var = ":-D"; $var2 = "<img .......... />"; $var3 = "Salut :-D !"; Je veux remplacer l'occurence de $var dans $var3 par $var2 (vous aurez deviné ce que je cherche à faire). Je pourrais faire : $varfinal = str_replace($var, $var2, $var3); Mais dans ce cas, si $var3 contient :-d au lieu de :-D, ça ne marche pas, str_replace est sensible à la casse. Comme version non-sensible, il existe istr_replace() mais uniquement ds PHP5 (auquel je n'ai pas accés). Il existe donc aussi eregi_replace qui n'est pas sensible ! Seulement ce dernier utilise le principe des [url="http://www.nexen.net/docs/php/annotee/function.ereg-replace.php"]parenthéses capturantes[/url]... donc dans mon cas comme j'en ai une (si je prend l'exemple d'un autre smileys => le script parcours un tableau) dans $var, ieregi_replace pense que s'en ait une et me retourne donc une erreur à : ieregi_replace($var, $var2, $var3); ce qui est plutôt logique. A noter que : $var = str_replace(")", "\)", ":-)"); $var2 = "<img .......... />"; $var3 = "Salut :-) !"; $varfinal = ieregi_replace($var, $var2, $var3); ne marche pas Voilà, comment donc remplacer simplement (sans expressions rationnelles ni rien) en étant insensible à la casse et sans ce pb de parenthéses ? merci :)

Modifié par Julien02 le 17/12/2004 23:09
Publicité
Dalaï Lama
 Posté le 17/12/2004 à 23:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bon tu adaptes, mais en utilisant cette manière : $var1 = $var2 $var2 = $var3 Non, j'suis à côté de la plaque ?! [bigsmile]
Julien02
 Posté le 17/12/2004 à 23:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Dalaï Lama a écrit :
Bon tu adaptes, mais en utilisant cette manière : $var1 = $var2 $var2 = $var3 Non, j'suis à côté de la plaque ?! [bigsmile]
Complétement :d (merci qd même ^^)
ti_ouf
 Posté le 17/12/2004 à 23:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

lol bonjour je poursuits le sujet
massi
 Posté le 17/12/2004 à 23:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne
Salut! je viens de verifier sur mon forum, :d est bien equivalent a :D, alors je t'envoie le code de la fonction smile [smile] function smile($message) { global $url_smiles; $message = ' ' . $message; if ($getsmiles = mysql_query("SELECT *, length(code) as length FROM forum_smile ORDER BY length DESC")) { while ($smiles = mysql_fetch_array($getsmiles)) { $smile_code = preg_quote($smiles[code]); $smile_code = str_replace('/', '//', $smile_code); $message = preg_replace("/([\n\\ \\.])$smile_code/si", '\1<IMG SRC="' . 'images' . '/' . $smiles[smile_url] . '">', $message); } } $message = substr($message, 1); return($message); } en espérant que ca t'aide! sinon j'ai telechargé ce forum sur: http://script.tourdebali.com/asnforum.html je l'ai pas mal transformé, et traduit en francais si ca t'interesse. bon courage!
koala01
 Posté le 18/12/2004 à 05:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Salut, Le plus simple est peut etre de forcer la casse, soit en majuscule, soit en minuscule... Par exemple: $var=":-d"; $var2=":-D"; $var3="salsut :-d"; str_replace($var,$var2,$var3); Car, de deux choses l'une... Ou bien l'utilisateur aura effectivement écrit :-D et il ne sera pas remplacé, ou bien il aura écrit :-d, et tu te retrouvera en définitive avec :-D Après il ne reste plus qu'à faire changer :-D en l'image que tu veux... $var4="<img scr=\"...\">"; str_replace($var2,$var4,$var3);//on est sur que l'on ne rencontrera que $var2 et non $var
Julien02
 Posté le 18/12/2004 à 12:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Merci pour vos réponses ! Massi, en fait il utilise preg_replace et je ne veux pas utiliser de preg, j'ai besoin de plus simple. koala01, j'étais certains que c'était une astuce toute simple ocmme celle -là à laquelle il fallait penser, c parfait ^^ merci à vous et joyeux noël ;)
koala01
 Posté le 18/12/2004 à 13:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Mais de rien, joyeux noel à toi aussi... Tu sais, finalement, les solutions les meilleures sont toujours les plus simples...
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
56,99 €Kit de 16 Go (2 x 8 Go) de mémoire DDR4 Corsair Vengeance LPX 3200 MHz à 56,99 €
Valable jusqu'au 24 Janvier

Amazon fait une promotion sur le kit de 16 Go (2x8 Go) de mémoire DDR4 Corsair Vengeance LPX 3200 MHz CL16 qui passe à 56,99 € livré gratuitement. On le trouve ailleurs autour de 75 €.


> Voir l'offre
269,99 €Casque sans fil Bose Headphones 700 à 269,99 €
Valable jusqu'au 19 Janvier

Cdiscount fait une promotion sur l'excellent casque sans fil Bose Headphones 700 qui passe à 269,99 € au lieu de 290 €. En plus d'un son incroyable, ce casque offre 11 niveaux de réduction active de bruit vous permettent de profiter de la musique, des podcasts, des vidéos et des appels, sans distraction. Un système de microphones révolutionnaire s’adapte aux environnements bruyants et venteux afin de restituer votre voix avec une clarté incroyable lors de vos appels. Vous permet également d'accéder facilement aux assistant vocaux Google et Alexa. Autonomie jusqu'à 20 heures.


> Voir l'offre
449,99 €Portable Dell Inspiron 15 3501 (15.6 pouces, FullHD, Core i3, 8Go, SSD 256Go) à 449,99 €
Valable jusqu'au 19 Janvier

RueDuCommerce fait une promotion sur l'ordinateur portable Dell Inspiron 15 3501 qui passe à 449,99 € alors qu'on le trouve ailleurs à partir de 529 €. Cet ordinateur possède un écran 15,6 pouces Full HD (1920x1080), un processeur Intel Core i3-1115G4 avec chip graphique Intel UHD intégré, 8 Go de RAM (extensibles à 16 Go) et un SSD NVMe de 256 Go. Le tout tourne sous Windows 10 qui peut être mis à jour pour Windows 11.


> Voir l'offre

Sujets relatifs
nom de fonction
Logiciel pour remplacer Animation shop
remplacer favicon free
Ligne de commande pour exe sans prompt.
Remplacer des ActiveX pour portabilité (lecture/écriture de fichiers ...)
Redirection 301 avec www ou sans
Mon site est intégré dans un autre sans autorisation
Passer à la page sans cadre
incompatibilité fonction php include avec html5 et ie8
Base de données écrassé via une fonction de l'herbergeur....
Plus de sujets relatifs à Fonction Remplacer sans casse en PHP
 > Tous les forums > Forum Forum des Webmasters