-3

私はデータベースからイベント名(例:マニーパッキャオ対ファンマヌエルマルケス)を取得し、イベント名を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);
    }
4

3 に答える 3

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

上の 2 行目で、すでにexplode正しい$paramsですか? 5 行目で、またexplodeing ですか?

于 2012-09-17T17:11:24.247 に答える
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);
于 2012-09-17T17:12:08.123 に答える
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);
于 2012-09-17T17:12:54.813 に答える