code.fastix.org

Dateiansicht:

Datei:Projekte -> PHP:libGetBreadcrumb -> libGetBreadcrumb.inc.php
md5:f72c4595f3c8ac29fb2b4e91034935a3
sha1:ab2330a4106afe56f01ba6979b94724c41ea041a
  1. <?php
  2.  
  3. /**
  4. * Kleine Funktion zum Erzeugen einer Brotkrümelmavigation
  5. * @author: Jörg Reinholz, fastix WebDesign & Consult, Kassel - http://www.fastix.org/
  6. * @version: 1.0.1
  7. *
  8. * string  $sPath       # The Path # Not optional.
  9. * boolean $bolLastLink # Returm last element as Link?   # Default: false
  10. * string  $sPrePath    # The path bevore the output     # Default: ''
  11. * string  $cDelimOut   # The delimiter into the output. # Default: '/'
  12. * string  $cDelInput   # The delimiter into the input.  # Default: '/'
  13. **/
  14.  
  15. function getBreadcrumb( $sPath, $bolLastLink=false, $sPrePath='', $cDelimOut='/', $cDelimInput='/' ) {
  16.  
  17.     $out  = '';
  18.     $path = trim(trim($sPath, $cDelimInput));
  19.     $ar   = explode( $cDelimInput, $path );
  20.     $step = 0;
  21.     $lnk  = $sPrePath;
  22.     foreach($ar as $s) {
  23.         $step++;
  24.         $txt =  htmlspecialchars($s);
  25.         $lnk .= '/' . rawurlencode($s);
  26.         if ( $bolLastLink or count($ar) > $step ) {
  27.             $out .= $cDelimOut . '<a href="' . $lnk .'">' . $txt . '</a>';
  28.         } else {
  29.             $out .= $cDelimOut . $txt;
  30.         }
  31.     }
  32.     $s = array();  $s = array();
  33.     $s[] = '\\' ;  $r[] = '\\\\';
  34.     $s[] = '/'  ;  $r[] = '\/';
  35.     $s[] = '?'  ;  $r[] = '\?';
  36.     $s[] = '+'  ;  $r[] = '\+';
  37.     $s[] = '*'  ;  $r[] = '\*';
  38.     $s[] = '.'  ;  $r[] = '\.';
  39.     $s[] = '('  ;  $r[] = '\(';
  40.     $s[] = ')'  ;  $r[] = '\)';
  41.     $s[] = '['  ;  $r[] = '\[';
  42.     $s[] = ']'  ;  $r[] = '\]';
  43.     $s[] = '{'  ;  $r[] = '\{';
  44.     $s[] = '}'  ;  $r[] = '\}';
  45.  
  46.     return preg_replace('/^' . str_replace($s, $r, $cDelimOut) . '/' , '' , $out);
  47. }