我有一个复选框列表,创建一个我想要迭代的数组,让值既可以创建图像文件名,也可以创建标题和alt标记。
$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);
但它没有用,然后我意识到图像需要连字符所以我无论如何都不能这样做。关于如何实现这一目标的任何想法?
答案 0 :(得分: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>';
}