2010-11-26 72 views
0

在一個句子替換的話,我怎麼能取代像使用的preg_replace

風格字符串=「顏色:紅色;寬度:90%;」類= 「文本」

風格= 「顏色:紅;寬度:65%;」 class =「textbox」

使用preg_replace

我只是想用「width:65%」替換「width:90%」,而其餘的字符串應該保持原樣。我應該用什麼正則表達式來完成這個任務?

回答

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

我不能使用,因爲str_replace函數的寬度可以是任何數字和單位可能是「%」或「像素」。 preg_replace(「/ width:\ d +(%| px)/」,「width:65%」,$ string) – Nick 2010-11-26 11:02:05

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

,如果你想確保只與類= 「文本框」 的元素會受到影響:

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

有它的任何值和單位的工作:

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

非常感謝jairajs

這個窩糟透了,我

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

,並感謝傑拉德施耐德幫了我