MovableType function has been ported to PHP, by Adam Kalsey. Now you can create dirified filenames of any string you use this function with." />
 
ASPit - Totally ASP
Search PHPit

Use this textbox to search all the content on PHPit. Seperate keywords with a space.

Advertisements
Partners
  • Antique Desks
  • Directory of Web Designers
  • Ordenadores portatiles
  • Yellow Pages
  • London Accommodation

Dirify


This popular MovableType function has been ported to PHP, by Adam Kalsey. Now you can create dirified filenames of any string you use this function with.

function dirify($s) {
     
$s = convert_high_ascii($s);  ## convert high-ASCII chars to 7bit.
     
$s = strtolower($s);           ## lower-case.
     
$s = strip_tags($s);       ## remove HTML tags.
     
$s = preg_replace('!&[^;\s]+;!','',$s);         ## remove HTML entities.
     
$s = preg_replace('![^\w\s]!','',$s);           ## remove non-word/space chars.
     
$s = preg_replace('!\s+!','_',$s);               ## change space chars to underscores.
     
return $s;    
}

function
convert_high_ascii($s) {
    
$HighASCII = array(
        
"!\xc0!" => 'A',    # A`
        
"!\xe0!" => 'a',    # a`
        
"!\xc1!" => 'A',    # A'
        
"!\xe1!" => 'a',    # a'
        
"!\xc2!" => 'A',    # A^
        
"!\xe2!" => 'a',    # a^
        
"!\xc4!" => 'Ae',   # A:
        
"!\xe4!" => 'ae',   # a:
        
"!\xc3!" => 'A',    # A~
        
"!\xe3!" => 'a',    # a~
        
"!\xc8!" => 'E',    # E`
        
"!\xe8!" => 'e',    # e`
        
"!\xc9!" => 'E',    # E'
        
"!\xe9!" => 'e',    # e'
        
"!\xca!" => 'E',    # E^
        
"!\xea!" => 'e',    # e^
        
"!\xcb!" => 'Ee',   # E:
        
"!\xeb!" => 'ee',   # e:
        
"!\xcc!" => 'I',    # I`
        
"!\xec!" => 'i',    # i`
        
"!\xcd!" => 'I',    # I'
        
"!\xed!" => 'i',    # i'
        
"!\xce!" => 'I',    # I^
        
"!\xee!" => 'i',    # i^
        
"!\xcf!" => 'Ie',   # I:
        
"!\xef!" => 'ie',   # i:
        
"!\xd2!" => 'O',    # O`
        
"!\xf2!" => 'o',    # o`
        
"!\xd3!" => 'O',    # O'
        
"!\xf3!" => 'o',    # o'
        
"!\xd4!" => 'O',    # O^
        
"!\xf4!" => 'o',    # o^
        
"!\xd6!" => 'Oe',   # O:
        
"!\xf6!" => 'oe',   # o:
        
"!\xd5!" => 'O',    # O~
        
"!\xf5!" => 'o',    # o~
        
"!\xd8!" => 'Oe',   # O/
        
"!\xf8!" => 'oe',   # o/
        
"!\xd9!" => 'U',    # U`
        
"!\xf9!" => 'u',    # u`
        
"!\xda!" => 'U',    # U'
        
"!\xfa!" => 'u',    # u'
        
"!\xdb!" => 'U',    # U^
        
"!\xfb!" => 'u',    # u^
        
"!\xdc!" => 'Ue',   # U:
        
"!\xfc!" => 'ue',   # u:
        
"!\xc7!" => 'C',    # ,C
        
"!\xe7!" => 'c',    # ,c
        
"!\xd1!" => 'N',    # N~
        
"!\xf1!" => 'n',    # n~
        
"!\xdf!" => 'ss'
    
);
    
$find = array_keys($HighASCII);
    
$replace = array_values($HighASCII);
    
$s = preg_replace($find,$replace,$s);
     return
$s;
}
?>
About the author
Adam Kalsey is a pioneer on the latest web technologies, and his technical expertise is of great use to any company or person.

Adam Kalsey has written 1 codesnippets.