用PHP中的全名替换URL变量名称的缩写

问题描述:

我将一个URL变量传递给输出我们田径成绩的XML提要的PHP页面。用PHP中的全名替换URL变量名称的缩写

例如,我们的men's basketball XML feed的URL变量是“m-baskbl”。其他运动有类似的缩写。

问题是我需要能够输出完整的运动名称,即“男子篮球”,但该字符串不会出现在XML中。

我的问题是,你知道一种方法来替换PHP中的体育名称的URL变量缩写吗?例如,“m-baskbl”输出“男子篮球”。

这里是我的pageXML和代码:

 <?php 
     // Output the current school year (previous year through July 31, current year on/after August 1) 
     $year = date('Y') - 1; 
     $month = date('n'); 
     if($month >= 8) $year++; 

     // Build the XML file path 
     $p ="http://www.gostanford.com/data/xml/events/"; 
     $s = $_GET['s']; 
     $e = "/$year/index.xml"; 
     $file = "$p$s$e"; 

     $xml = simplexml_load_file($file); 

     // Reverse chronological order 
     $xmlArray = array(); 
     foreach ($xml as $event_date) $xmlArray[] = $event_date; 
     $xmlArray = array_reverse($xmlArray); 

     foreach ($xmlArray as $event_date) 
     { 
      // Only output if complete 
      if(!empty($event_date->event['vn']) && !empty($event_date->event['hn']) && !empty($event_date->event['vs']) && !empty($event_date->event['hs'])) 
      { 
      // Is Stanford the home team? 
      $home = ($event_date->event['hc'] == 'stan'); 
      // Only show opponents' name 
      $name = $home ? $event_date->event['vn'] : $event_date->event['hn']; 
      // Output "vs" if home game or "at" if away game 
      $preposition = $home ? 'vs' : 'at'; 
      // Tie? 
      if((int)$event_date->event['hs'] == (int)$event_date->event['vs']) 
      { 
      $result = 'Tie'; // Tie 
      } 
      else if((int)$event_date->event['hs'] > (int)$event_date->event['vs']) // Home team won? 
      { 
      if($home) // Home? 
      { 
      $result = 'Win'; // You're home and the home team won 
      } 
      else 
      { 
      $result = 'Loss'; // You're away, but the home team won 
      } 
      } 
      else // Home team lost 
      { 
      if($home) // Home? 
      { 
      $result = 'Loss'; // You're away, but the home team won 
      } 
      else 
      { 
      $result = 'Win'; // You're home and the home team won 
      } 
      } 
      echo '<li>'; 
       echo '<h3>', $preposition, ' ', $name, ' - ', '<em>', $result, '</em></h3>'; 
       echo '<p><strong>', $event_date->event['vn'], ' ', $event_date->event['vs'], ' - ', $event_date->event['hn'], ' ', $event_date->event['hs'], '</strong></p>'; 
       echo '<p>', date('F j, Y', strtotime($event_date['date'])), '</p>'; 
      echo '</li>'; 
      } 
     } 
     ?> 
+0

你有完整的名单? – 2011-05-13 18:23:11

+0

目前没有现有的列表。只有大约30个团队,所以我可以创建第二个XML文件或将这些名称作为变量嵌入到PHP页面中。我只是不确定如何将两者结合在一起。 – Ryan 2011-05-13 18:31:22

你也许可以做一个简单的数组映射例如

$Abbreviations = array(
    'm-baskbl' => "Men's Basketball", 
    'w-baskbl' => "Women's Basketball" 
); 

// somewhere you know you're fetching data for "m-baskbl" 
// use that variable to fetch the actual name 
$Division = $Abbreviations['m-baskbl']; // Men's Basketball 

只是一个想法:)