SitePoint Sponsor

User Tag List

Results 1 to 4 of 4

Hybrid View

  1. #1
    SitePoint Zealot ikjosh's Avatar
    Join Date
    Feb 2008
    Location
    Fort Worth, TX
    Posts
    189
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Need help modifying JS breadcrumb script - remove "dashes"

    Hello,

    I am using the following javascript breadcumb script (found here http://www.javascriptsource.com/navi...eadcrumbs.html )

    It works perfectly, except I'm trying to figure out how to remove and replace the "dash" ( - ) character with a space? Since some of my file names and directory names have dashes in them, it outputs:

    Home > directory-name > Page Name

    I'd like to replace the dash with a space, so it outputs

    Home > Directory Name > Page Name

    Code:
    function breadcrumbs() {
      sURL = new String;
      bits = new Object;
      var x = 0;
      var stop = 0;
      var output = "<div class=topnav><a href=/>home</a>  ";
    
      sURL = location.href;
      sURL = sURL.slice(8,sURL.length);
      chunkStart = sURL.indexOf("/");
      sURL = sURL.slice(chunkStart+1,sURL.length)
    
      while(!stop){
        chunkStart = sURL.indexOf("/");
        if (chunkStart != -1){
          bits[x] = sURL.slice(0,chunkStart)
          sURL = sURL.slice(chunkStart+1,sURL.length);
        } else {
          stop = 1;
        }
        x++;
      }
    
      for(var i in bits){
        output += "<a href=\"";
        for(y=1;y<x-i;y++){
          output += "../";
        }
        output += bits[i] + "/\">" + bits[i] + "</a>  ";
      }
      document.write(output + document.title);
      document.write("</div>");
      }
    Thanks

  2. #2
    SitePoint Enthusiast OMGCarlos's Avatar
    Join Date
    Apr 2012
    Location
    Boston, MA
    Posts
    91
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    You basically just need to use the "replace" function to parse out all hyphens.

    Replace the 3rd to last line
    Code:
      document.write(output + document.title);
    with
    Code:
      output = output.replace(/-/g, '');
      title = document.title.replace(/-/g, '');
    
      document.write(output + title);

  3. #3
    SitePoint Zealot ikjosh's Avatar
    Join Date
    Feb 2008
    Location
    Fort Worth, TX
    Posts
    189
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by OMGCarlos View Post
    You basically just need to use the "replace" function to parse out all hyphens.

    Replace the 3rd to last line
    Thank you Carlos.. That works, although I noticed that when it outputs the URL link for the title, it removes the dash there as well.. So basically it creates a broken link. How can we get it to just replace the dash in the title, not the URL output?

    Thanks!

  4. #4
    SitePoint Enthusiast OMGCarlos's Avatar
    Join Date
    Apr 2012
    Location
    Boston, MA
    Posts
    91
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Oops, yea I didn't even think about that! Change the last couple lines from your original:

    Code:
    output += bits[i] + "/\">" + bits[i] + "</a>  ";
      }
      document.write(output + document.title);
      document.write("</div>");
      }
    to
    Code:
         output += bits[i] + "/\">" + bits[i].replace(/-/g, '') + "</a>  ";
      }
    
    title = document.title.replace(/-/g, '');
      document.write(output + title);
      document.write("</div>");
      }​


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •