2010-11-03 61 views
0

我有一个复选框列表,用于创建一个我想迭代的数组,以创建图像文件名以及标题和alt标记。使用preg替换为数组

$specs = get('speciesCommon'); 
$thepath = get_bloginfo('template_directory'); 
foreach($specs as $speci){ 
echo '<li><img src="'.$thepath.'/library/images/icons/species/'.$speci.'.gif" width="30" height="30" alt="'.$speci.'" title="'.$speci.'" /></li>' ; 
} 

因此,例如复选框值是灰熊熊那就填充此打印:

<img src=".../grizzly-bear.gif" title="grizzly-bear" alt="grizzly-bear" .../> 

我想刚才的标题和alt标签打印不带连字符。我试过..

$speci = preg_replace('/-/','\s',$speci); 

但它没有工作,然后我意识到图像需要连字符,所以我不能这样做反正。关于如何让这种情况发生的任何想法?

回答

1

我会用str_replace这个简单的替换。您还需要将结果放入新变量中,因为您要同时使用旧值和新值。

foreach($specs as $speci){ 
    $speci_nohyphen = str_replace('-', ' ', $speci); 
    echo '<li><img src="', $thepath, '/library/images/icons/species/', $speci, '.gif" width="30" height="30" alt="', $speci_nohyphen, '" title="', $speci_nohyphen, '" /></li>'; 
} 
+0

完美!谢谢! – Zac 2010-11-03 07:10:05