2012-09-17 27 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); 
相关问题