2011-09-10 37 views
-1

的Drupal 7:我需要环绕面包屑文本span标签,这是我

function THEMENAME_breadcrumb($variables) { 
    $breadcrumb = $variables['breadcrumb']; 
    if (!empty($breadcrumb)) { 

    // Provide a navigational heading to give context for breadcrumb links to 
    // screen-reader users. Make the heading invisible with .element-invisible. 
    $output = '<h2 class="element-invisible">' . t('You are here:') . '</h2>'; 
    $crumbs = '<ul class="breadcrumbs clearfix">'; 
    $array_size = count($breadcrumb); 
    $i = 0; 
    while ($i < $array_size) { 
     $crumbs .= '<li class="breadcrumb-' . $i; 
     if ($i == 0) { 
     $crumbs .= ' first'; 
     } 
     if($i != 0 && $i+1 != $array_size) { 
     $crumbs .= ' middle'; 
     } 
     if ($i+1 == $array_size) { 
     $crumbs .= ' last'; 
     } 
     $crumbs .= '">' . $breadcrumb[$i] . '</li>'; 
     $i++; 
    } 
    $crumbs .= '</ul>'; 
    return $crumbs; 
    } 
} 

这种输出格式,我需要其他比我需要添加周围里面的文本span标签的面包屑链接。

的联系正被写入第七行从底部:

$crumbs .= '">' . $breadcrumb[$i] . '</li>'; 

任何想法?

+0

链接在哪里? – ajreal

+0

它在数组内:$ breadcrumb [$ i]在某处。我不是最好的PHP,或者这可能会更容易。 –

+0

可以包含$ breadcrumb [$ i]的一些示例数据吗? – ajreal

回答

2

因为我看不到的$breadcrumb[$i]里面的内容我不能完全肯定,这将工作,但下面的代码应该为你工作,因为它封装了一个锚标签里的任何东西,跨度标签:

preg_match("@<a ([^>]+)>(.+)</a>@i", $breadcrumb[$i], $matches); 
$crumbs .= '"><a ' . $matches[1] . '><span>' . $matches[2] . '</span></a></li>'; 

只需用这两行替换函数中的第七行,看​​看它是否有效!否则,在$breadcrumb[$i]上使用var_dump并将结果添加到您的问题中。

+0

谢谢,完美无缺! –

相关问题