Blackbenji
Lieutenant
- Registriert
- Nov. 2009
- Beiträge
- 557
Hallo,
ich habe ein "Image Uploader". Dieser soll Umlaute und Leerzeichen umschreiben.
aus "ÄÄ ÖÖ ÜÜ ä ö ü haßßsoo.jpg" wird dann "aeae_oeoe_ueue_ae_oe_ue_hasssssoo.jpg"
Das funktioniert!
Nun möchte ich aber ein Index aus einem "Import Ordner" erstellen.
Mein Output ist hier aber:
Was ich nicht ganz verstehe: es werden unterstriche und das ß ersetzt, aber ä,ö,ü nicht ?
ich habe ein "Image Uploader". Dieser soll Umlaute und Leerzeichen umschreiben.
PHP:
private function umlautPatcher($value)
{
$value = strtolower ($value);
$search = array(" ", "ä", "Ä", "ö", "Ö", "ü", "Ü", "ß");
$replace = array("_", "ae", "ae", "oe", "oe", "ue", "ue", "ss");
$patched = str_replace($search, $replace, $value);
return $patched;
}
aus "ÄÄ ÖÖ ÜÜ ä ö ü haßßsoo.jpg" wird dann "aeae_oeoe_ueue_ae_oe_ue_hasssssoo.jpg"
Das funktioniert!
Nun möchte ich aber ein Index aus einem "Import Ordner" erstellen.
PHP:
public function ftpImporter()
{
$arCleaned = array();
function fileFilter ( $strEntry )
{
if ( substr ( $strEntry, -5 ) == '.jpeg' || substr ( $strEntry, -4 ) == '.png' || substr ( $strEntry, -4 ) == '.gif' || substr ( $strEntry, -4 ) == '.jpg' ) {
return $strEntry;
}
return false;
}
$arDir = scandir( './upload/import/' );
$arFiles = array_filter ( $arDir, 'fileFilter' );
foreach($arFiles as $files) {
$arCleaned[] = $this->umlautPatcher($files);
}
return $arCleaned;
}
Mein Output ist hier aber:
PHP:
array(3) {
[0]=>
string(46) "ää_öö_üü_ä_ö_ü_hasssssoo.jpg"
[1]=>
string(18) "firefoxlogo3.5.png"
[2]=>
string(16) "ppuf1000x907.gif"
}
Was ich nicht ganz verstehe: es werden unterstriche und das ß ersetzt, aber ä,ö,ü nicht ?