Zurück   Flashforum > Flash und Server > PHP und MySQL

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-09-2010, 12:34   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 594
url-path verändern

Hi.

Kann mir jemand sagen, wie ich nur die Umlaute im url-path ersetze?

Bsp:
Code:
www.domainmit-üüää.de/tst/ää-öö
soll werden:
Code:
www.domainmit-üüää.de/tst/aeae-oeoe
Also die Funktion soll nur auf den hinteren Teil angewendet werden und den Domainnamen weg lassen...

VG
staccato ist offline   Mit Zitat antworten
Alt 20-09-2010, 14:27   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
PHP-Code:

$teststring 
'http://www.mötörhead.com/biz/tet/möp/müll/männer.php';

function 
callbackfunc$hits ){

     
$search = array( 'Ä''Ö''Ü''ä''ö''ü'' ' );
     
$replace = array( 'AE''OE''UE''ae''oe''ue''_' );
     return 
$hits[1].str_replace$search$replace$hits[2] );

}

$teststring2 preg_replace_callback'|(([[https?|ftp|http]+://]?[w\.]+[A-Za-z0-9äöüÄÖÜ]+\.[a-z]{2,5})([\/A-Za-z0-9äöüÄÖÜ\s\.\#]+)?)|is''callbackfunc'$teststring );

echo 
$teststring2
Nur halb getestet

Geändert von Nightflyer (20-09-2010 um 14:29 Uhr)
Nightflyer ist offline   Mit Zitat antworten
Alt 20-09-2010, 15:00   #3 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Thumbs up

@Nightflyer wozu der Reguläre Ausdruch?
PHP-Code:
    $umlate = array(
        
'Ä' => 'Ae',
        
'Ö' => 'Oe',
        
'Ü' => 'Ue',
        
'ä' => 'ae',
        
'ö' => 'oe',
        
'ü' => 'ue',
        
'ß' => 'sz',
        
' ' => '_'
    
);

    
$teststring 'http://www.mötörhead.com/biz/tet/möp/müll/männer.php';
    
$teststring str_replace(array_keys($umlate), $umlate$teststring); 
ich finde das assoziative Array besser, weil so kann man nicht mit den Indizes der beiden Arrays durcheinanderkommen.
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 20-09-2010, 15:12   #4 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Zitat:
Zitat von thomas_E Beitrag anzeigen
@Nightflyer wozu der Reguläre Ausdruck?
Damit nur der hintere Teil der URL erfasst wird. Aber dein str_replace ist natürlich besser, kann man so übernehmen
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 21-09-2010, 08:18   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 594
Boah cool! Habt vielen Dank.
staccato ist offline   Mit Zitat antworten
Alt 21-09-2010, 08:21   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 594
'|(([[https?|ftp|http]+://]?[w\.]+[A-Za-z0-9äöüÄÖÜ]+\.[a-z]{2,5})([\/A-Za-z0-9äöüÄÖÜ\s\.\#]+)?)|is'


Habt ihr nen Link, wo ich mal versuchen kann das zu verstehen?
staccato ist offline   Mit Zitat antworten
Alt 21-09-2010, 08:34   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 594
Sorry brauch noch mal eure Hilfe!

Code:
$teststring2 = preg_replace_callback( '|(([[https?|ftp|http]+://]?[w\.]+[A-Za-z0-9äöüÄÖÜ]+\.[a-z]{2,5})([\/A-Za-z0-9äöüÄÖÜ\s\.\#]+)?)|is', 'callbackfunc', $teststring );
Code:
Warning: preg_replace_callback() [function.preg-replace-callback]: Unknown modifier 'f' in C:\xampp\htdocs\test.php on line 12
staccato ist offline   Mit Zitat antworten
Alt 21-09-2010, 08:46   #8 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
PHP-Code:
$teststring 'http://www.mötörhead.com/biz/tet/möp/müll/männer.php';

function 
callbackfunc$hits ){

     
$search = array( 'Ä' => 'AE''Ö' => 'OE''Ü' => 'UE''ä' => 'ae''ö' =>' oe''ü' => 'ue'' ' => '_' );
     return 
$hits[1].str_replacearray_keys$search ), $search$hits[2] );

}

$teststring2 preg_replace_callback'@(([[https?|ftp|http]+://]?[w\.]+[A-Za-z0-9äöüÄÖÜ]+\.[a-z]{2,5})([\/A-Za-z0-9äöüÄÖÜ\s\.\#]+)?)@is''callbackfunc'$teststring );

echo 
$teststring2
Mein Fehler, da muss natürlich ein anderer Delimiter hin
Tutorial: Regenechsen :: Ideas come true | Reguläre Ausdrücke allg.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 21-09-2010, 08:59   #9 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Und statt str_replace() wäre dann eigentlich ein strtr() noch eleganter …
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist gerade online   Mit Zitat antworten
Alt 21-09-2010, 09:38   #10 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
stimmt, und dann noch gleich mit allen Sonderzeichen

PHP-Code:
$teststring 'http://www.mötörhead.com/biz/tet/möp/müll/männer.php';

function 
callbackfunc$hits ){

     
$normalizeChars = array(
    
'Š'=>'S''š'=>'s''Š'=>'Dj','Ž'=>'Z''ž'=>'z''Ą'=>'A''Į'=>'A''Ā'=>'A''Ć'=>'A''Ä'=>'AE'
    
'Å'=>'A''Ę'=>'A''Ē'=>'C''Č'=>'E''É'=>'E''Ź'=>'E''Ė'=>'E''Ģ'=>'I''Ķ'=>'I''Ī'=>'I'
    
'Ļ'=>'I''Ń'=>'N''Ņ'=>'O''Ó'=>'O''Ō'=>'O''Õ'=>'O''Ö'=>'OE''Ų'=>'O''Ł'=>'U''Ś'=>'U'
    
'Ū'=>'U''Ü'=>'UE''Ż'=>'Y''Ž'=>'B''ß'=>'Ss','ą'=>'a''į'=>'a''ā'=>'a''ć'=>'a''ä'=>'ae'
    
'å'=>'a''ę'=>'a''ē'=>'c''č'=>'e''é'=>'e''ź'=>'e''ė'=>'e''ģ'=>'i''ķ'=>'i''ī'=>'i'
    
'ļ'=>'i''š'=>'o''ń'=>'n''ņ'=>'o''ó'=>'o''ō'=>'o''õ'=>'o''ö'=>'oe''ų'=>'o''ł'=>'ue'
    
'ś'=>'u''ū'=>'u''ż'=>'y''ż'=>'y''ž'=>'b''˙'=>'y''ƒ'=>'f''&' => '-and-'' ' => '_'
);
     return 
$hits[1].strtr$hits[2], $normalizeChars );

}

$teststring2 preg_replace_callback'@(([[https?|ftp|http]+://]?[w\.]+[A-Za-z0-9äöüÄÖÜ]+\.[a-z]{2,5})([\/A-Za-z0-9äöüÄÖÜ\s\.\#]+)?)@is''callbackfunc'$teststring );

echo 
$teststring2
__________________
(\__/)
(='.'=)
(")_(")

Geändert von Nightflyer (21-09-2010 um 12:32 Uhr)
Nightflyer ist offline   Mit Zitat antworten
Alt 21-09-2010, 11:56   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 594
Jetzt müsste ich den Spieß doch noch mal umdrehen - also ne Funktion die sich nur den Domainnamen vornimmt(ohne Ordnerstruktur).

Könnt ihr mir da noch mal helfen? Dachte ich könnte das über $hits[0] machen aber das geht nicht.
staccato ist offline   Mit Zitat antworten
Alt 21-09-2010, 12:25   #12 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Zitat:
Dachte ich könnte das über $hits[0] machen aber das geht nicht.
$hits[0] enthält den gesammten String
$hits[1] enthält protokoll + domäne
$hits[2] enthält den rest des Pfades

somit müsste die Zeile für die Domäne folgendermassen lauten:
PHP-Code:
     return strtr$hits[1], $normalizeChars ).$hits[2]; 
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wo ist der SharedObject Path auf XP? mirzahat ActionScript 3 3 02-03-2008 12:34
C:\Path nach C:/path convertiren mit Flash nicht moglich !!! Xeef Flash 8 20 26-01-2007 07:45
Problem: for...in / path / self referencing trendspurt ActionScript 2 3 21-11-2006 12:42
String to Path SergeyL. Flash Einsteiger 10 21-03-2006 17:57
Get Best Path in 2d Matrix ? nky Softwarearchitektur und Entwurfsmuster 10 07-12-2002 23:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele