ASPit - Totally ASP JSit - Totally JavaScript
Search PHPit

Use this textbox to search for articles on PHPit. Seperate keywords with a space.

Advertisements

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;
}
?>

Leave a Reply