2010-11-26 6 views
0

Comment puis-je remplacer une chaîne commeRemplacer un mot dans une phrase en utilisant preg_replace

style = "color: red; largeur: 90%;" class = "zone de texte"

à

style = "color: red; largeur: 65%;" class = "zone de texte"

en utilisant preg_replace?

Je veux juste remplacer "largeur: 90%" par "largeur: 65%" et le reste de la chaîne devrait rester tel quel. Quelle expression régulière devrais-je utiliser pour accomplir ceci?

Répondre

0
str_replace("width:90%", "width:65%", $string) 
+0

Je ne peux pas utiliser str_replace car la largeur pourrait être un nombre et l'unité peut être « % » ou « px ». – Nick

+1

this ?: preg_replace ("/ largeur: \ d + (% | px) /", "largeur: 65%", $ chaîne) – jairajs89

0
$string = preg_replace("/width:90%/", "width:65%", $string); 

si vous voulez vous assurer que seuls les éléments avec la classe = "zone de texte" sont touchés:

$string = preg_replace("/(style=\".+)(width:90%)(.+class=\"textbox\")/", "$1width:65%$3", $string); 

ayant fonctionner avec une valeur et l'unité:

$string = preg_replace("/width:(\d+)(%|px)/", "width:65($2)", $string); 
0

Merci beaucoup jairajs

ce travail ked pour moi

preg_replace("/width:\d+(%|px)/", "width:65%", $string) 

et grâce à Gerald Schneider pour me aider

Questions connexes