我有一个用PHP生成的面包屑系统,并设置为使面包屑的最后一项不是链接。我正在使用第三方PHP类来创建它。在没有深入深入的情况下,这很好,除非在一种情况下我想从get查询中获取值并将值附加到痕迹上。对于第三方PHP类,最后一项是PHP类生成的最后一项,因此它没有我需要的链接。
因此,我想抓住使用javascript从PHP类生成的最后一项,并将其作为链接,然后使用javascript将GET查询中的值附加到没有链接的面包屑中。
基本上,面包屑在最后阶段应该是这样的:
<h4><link>Client</link> / <link>Year</link> / <link>Project</link> / Asset</h4>
所以我需要抓住“Project”并将其作为链接,然后附加资产名称(从PHP GET获取值)。
我正在尝试使用Javascript的替换功能来完成此任务。
我的代码现在:
var title = "<?php echo $_GET['asset'];?>";//Get PHP variable
var value = document.getElementById("bread-crumbs").innerHTML; //<h4 id="bread-crumbs">Content</h4>
var stripVal = value.replace(/(<([^>]+)>)/ig,"");//Remove html link tags from it
var n = stripVal.lastIndexOf('/');//grab the item after the last / (ProjectName)
var searchfor = stripVal.substring(n + 1); //Project folder name
//alert(stripVal);
var re = new RegExp(searchfor,"g"); //Create a regex that holds the last item value
//Replace the value with the itself, except wrapped in an href
value = value.replace(re, "<a href='index.php'>"+searchfor+"</a>");
//Append the title to the end of the breadcrumb
var newValue = value.concat('<span class="dir-slash"> / </span> ' + title);
//Replace the HTML with the updated markup
document.getElementById("bread-crumbs").innerHTML = newValue;
不幸的是,这似乎根本不起作用。我有什么突出的东西搞砸了吗?对不起啰嗦的帖子很抱歉。我有时不太擅长解释编程。
谢谢!