2012-09-17 69 views
-3

我想從數據庫中取出事件名稱(例如:帕奎奧與胡安·曼努埃爾·馬爾克斯),將事件名稱分成2個名稱(曼尼·帕奎奧,胡安Manuel Marquez)並在頁面上使用它們。將字符串分成2個變量...不工作

這是我的代碼不工作。

if(count($perfarray) == 2 && $page['catnum'] == "1142") 
    { 

     $input = $event['Event']; 
     $params = explode('vs.', $input); 
     foreach($params as $param) 
      { 
       $kv = explode('vs.', $param); 
       $fighterNo1 = $kv[0]; 
       $fighterNo2 = $kv[1]; 
      } 

     $fulltext = str_replace("\$Fighter1", $fighterNo1, $fulltext); 
     $fulltext = str_replace("\$Fighter2", $fighterNo2, $fulltext); 

     // $fulltext = str_replace("\$Fighter1", addslashes($perfarray[0]), $fulltext); 
     //$fulltext = str_replace("\$Fighter2", addslashes($perfarray[1]), $fulltext); 
    } 
    elseif(strstr($event['Event']," vs.")) 
    { 
     $input = $event['Event']; 
     $params = explode('vs.', $input); 
     foreach($params as $param) 
      { 
       $kv = explode('vs.', $param); 
       $fighterNo1 = $kv[0]; 
       $fighterNo2 = $kv[1]; 
      } 

     $fulltext = str_replace("\$Fighter1", $fighterNo1, $fulltext); 
     $fulltext = str_replace("\$Fighter2", $fighterNo2, $fulltext); 
    } 
+0

我能得到它的工作,最好是隻拿到一個名字。 – NotJay

+0

爲什麼要爆炸'$ input'兩次? – jimp

+0

我正在努力嘗試使它工作的幾個例子... – NotJay

回答

1

你打電話爆炸太多次了。

$params = explode('vs.', $input); 
foreach($params as $param) { 
    $kv = explode('vs.', $param); 

你把第一個參數,然後再次嘗試explode它。這應該工作,我想:

$input = $event['Event']; 
$params = explode('vs.', $input); 
$fighterNo1 = $params[0]; 
$fighterNo2 = $params[1]; 

$fulltext = str_replace("\$Fighter1", $fighterNo1, $fulltext); 
$fulltext = str_replace("\$Fighter2", $fighterNo2, $fulltext); 
+0

謝謝,它工作得很好!我根據我見過的例子嘗試了一堆不同的東西,但是我猜測我使用了太多的東西,我應該保持簡單;-)再次感謝! – NotJay

1
$input = $event['Event']; 
    $params = explode('vs.', $input); 
    foreach($params as $param) 
     { 
      $kv = explode('vs.', $param); 
      $fighterNo1 = $kv[0]; 
      $fighterNo2 = $kv[1]; 
     } 

在上面的第二行,你已經explode d爲$params吧?而在第五行,你再次explode ing?

0

我不知道你的數據的樣子究竟但這裏是你可以做什麼

$text = "Manny Pacquiao vs. Juan Manuel Marquez"; 

list($fighter1,$fighter2) =explode(" vs. ",$text); 

$fulltext = str_replace("\$Fighter1", $fighter1, $fulltext); 
$fulltext = str_replace("\$Fighter2", $fighter2, $fulltext); 
相關問題