'Breadcrumb Url not displaying correctly

Currnetly I am using breadcrumbs in my site to display different properties. Now for some reason when I hover over the breadcrumb to see which URL it will go to it displays as http://localhost/php56/dubai/off-plan-properties but it goes to the page http://localhost/php56/dubai/offplan which is the correct URL. So basically I want the URL in my previous page to show as http://localhost/php56/dubai/offplan.

Here's my code:

<?php $breadcrumbs = isset($breadcrumbs)?$breadcrumbs:explode("/", $this->uri->uri_string()); 

if(!empty($breadcrumbs)) { 
  if($breadcrumbs[0]=="dubai"){
    $filterurl = array('villa-for-sale'=> 'villas-for-sale-dubai', 'apartment-for-sale'=> 'apartments-for-sale-dubai','penthouse-for-sale' => 'penthouse-for-sale-dubai','serviced-residences-for-sale'=>'serviced-apartments-sale-dubai','land-residential-for-sale'=>'land-for-sale-dubai','villa-for-rent'=> 'villas-for-rent-dubai', 'apartment-for-rent'=>'apartments-for-rent-dubai','penthouse-for-rent'=>'penthouse-for-rent-dubai');
  }else{ 
    $filterurl = array('');
  }
  if($breadcrumbs[0]=="dubai" && (isset($breadcrumbs[1]) && $breadcrumbs[1] == "developers") ){
    array_splice($breadcrumbs,0,2,"developers-in-dubai");
  }
  
  $citybeds ='';
  if(isset($breadcrumbs[1]))
    if (strpos($breadcrumbs[1], '-bedroom-') !== false) {
      $citybeds = $breadcrumbs[0];
    }
?>
<div class="container-fluid">
 <ol class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList">
    <?php 
    $c=2;
    $i = 0;
    $link='';
   
    foreach($breadcrumbs as $k => $text): 
      $link.= $text.'/'; 
      if(isset($nav[$text])){
        $text = trim($nav[$text]) !=''?$nav[$text]:$text;
      }
      $dtxt[] = str_replace(array('-','_'),' ',str_replace(array('off-plan-properties','-for-sale','locations-in-dubai','Show_wishlist'),array('Off Plan properties','','locations'),$text));?>
      <?php 
      if(isset($breadcrumbs[$k+1])){
        $url = site_url($link);
              
      }else{
        $url = current_url();
       
      }
      if($k==1 && array_key_exists($text,$filterurl)){
        $url = site_url("$filterurl[$text]"); 
        
      }
      if($k==0 && $breadcrumbs[0]== "dubai" && isset($breadcrumbs[1]) && strpos($breadcrumbs[1], "-for-rent")){
        $url = site_url('properties-for-rent-dubai');
      }
   
      if($k==0 && $breadcrumbs[0]== "dubai" && isset($breadcrumbs[1]) && strpos($breadcrumbs[1], "short-term")){
        $url = site_url('short-term-properties-for-rent-dubai');
      }
      if($k==0 && $breadcrumbs[0]== "properties-for-sale-dubai"){
        $url = site_url('dubai'); $dtxt[$i] = "dubai";
      }
      if($k==1 && $breadcrumbs[0]== "properties-for-sale-dubai" && isset($breadcrummmmbs[1])){
        $url = site_url('all-properties/'.$breadcrumbs[1]);
      }
      if($citybeds != '' && $i == 0){ //skip on city if url with bedroom count
      }else{
        
    ?>
    <li class="breadcrumb-item" <?php if($i==0) { ?> id="flbcrumbs"<?php } ?>  <?php if(site_url($link)==current_url()) { ?> class="active"<?php } ?> itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a itemprop="item" href="<?php echo $url; ?>"><span class="iconify" data-icon="ic:round-keyboard-arrow-right" data-inline="false" style="color:#151515"></span><span itemprop="name" class="underline"><?php 
    if($i == 1 && $citybeds != ''){
        $dtxtstr = $dtxt[0];
    }else{
      if( $dtxt[$i]=="arabian ranches iii") {
        $dtxtstr = "Arabian Ranches III";
      }else {
        $dtxtstr = $dtxt[$i];
      }
    }
    echo $k==4?ucwords($dtxtstr): ucwords($dtxtstr) 
    ?></span></a> <meta itemprop="position" content="<?php echo $c++;?>" /></li>
    <?php 
      }
    ++$i; endforeach;  ?>
  </ol>
</div>
<?php } ?> 

I've tried making another if statement with the following condition:

if($breadcrumbs[1]=='off-plan-properties'){
   $breadcrumbs[1]='offplan'
}

But it still displays the previous URL.

Doing a print on $breadcrumbs gave Array ( [0] => dubai [1] => offplan [2] => dubai-hills-estate )



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source