2012-05-14 56 views
0

這是我的代碼:搜索並同時更換兩次

$css = ".block{float:right; text-align:right;padding:0 20px 0 0; margin:0 0 0 0;}.block h2{font-size:24px; color:#2b7538; font-weight:normal; text-align:right; padding:10px; margin:10px 0 0 0; text-align:left}.block p{line-height:30px;margin-top:20px; float:left}"; 

$search = array("float:left","text-align:left","float:right","text-align:right"); 
$replace = array("float:right","text-align:right","float:left","text-align:left"); 

echo str_replace($search, $replace, $css); 

我怎樣才能更換左到右,並在同一時間離開了吧?

回答

0

您需要臨時使用不同的值。在這個例子中,我使用了「xyz」,使用了一些更明顯的東西。

  • 取代留下XYZ
  • 更換右與左

更換XYZ下面是一些代碼,以方便重複一個循環,應該(我沒有測試過它)相互替換左值和右值。

$css = ".block{float:right; text-align:right;padding:0 20px 0 0; margin:0 0 0 0;}.block h2{font-size:24px; color:#2b7538; font-weight:normal; text-align:right; padding:10px; margin:10px 0 0 0; text-align:left}.block p{line-height:30px;margin-top:20px; float:left}"; 

$from_to = array(
    'left' => 'xyz', 
    'right' => 'left', 
    'xyz' => 'right' 
); 

foreach ($from_to as $from => $to) 
{ 

    $search = array("float:" . $from, "text-align:" . $from); 
    $replace = array("float:" . $to, "text-align:" . $to); 

    $css = str_replace($search, $replace, $css); 

} 

echo $css; 
+0

做了一個快速(不拓展)測試,似乎很好地工作。 –

+0

是的,謝謝你..我用你的概念,它運作良好。 –

+0

你非常歡迎 –

0
$search = array('right', 'left', 'xxx'); 
$replace = array('xxx', 'right', 'left'); 
$subject = 'right then left then right'; 
$return = str_replace($search, $replace, $subject); 

回報:

$主題:對,然後再往右

$回報:左再右則左