diff --git a/at_core/inc/preprocess.inc b/at_core/inc/preprocess.inc
index baab301..c8b6ed4 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]) + 2, 0);
+ }
+ else {
+ $breadcrumb = '' . $breadcrumb . '';
+ }
$vars['breadcrumb'][$key] = '' . $breadcrumb . '';
}
}