diff --git a/at_core/inc/preprocess.inc b/at_core/inc/preprocess.inc index baab301..aa9c12c 100755 --- a/at_core/inc/preprocess.inc +++ b/at_core/inc/preprocess.inc @@ -951,9 +951,20 @@ function adaptivetheme_preprocess_user_profile(&$vars) { function adaptivetheme_preprocess_breadcrumb(&$vars) { // Add Google rich snippets to breadcrumbs using RDFa if (module_exists('rdf')) { - $rich_snippet = 'rel="v:url" property="v:title" '; + $snippet_url = ' rel="v:url" '; + $snippet_title = ' property="v:title" '; foreach ($vars['breadcrumb'] as $key => $breadcrumb) { - $breadcrumb = substr_replace($breadcrumb, $rich_snippet, 3, 0); + preg_match_all('/<([\w]+)[^>]*>.*?<\/\\1>/', $breadcrumb, $matches); + if (count($matches[0]) > 0) { + $snippet = $snippet_title; + if ($matches[1][count($matches[1]) - 1] == 'a') { + $snippet = $snippet_url . $snippet_title; + } + $breadcrumb = substr_replace($breadcrumb, $snippet, strlen($matches[1][count($matches[1]) - 1]) + 1, 0); + } + else { + $breadcrumb = '' . $breadcrumb . ''; + } $vars['breadcrumb'][$key] = '' . $breadcrumb . ''; } }