Willkommen in der Webstatt Zum Webstatt Blog und Stories
w4p am 03.08.06 15:40

Hallo Zusammen,

Ich bin gerade dabei ein Scripts zu programmieren das aus einem Link (z.B. Über Uns) einen "Browserfähigen" Link macht (ueber_uns.html). Dazu benutze ich die Funktion ereg_replace().

Hier mal ein Teil meines Scripts: for ($a = 1; $a <= $links; $a++) {
$link_ebene1_neu_1[''.$a.''] = ereg_replace(" " , "_", $link_ebene1_neu[''.$a.'']);
$link_ebene1_neu_2[''.$a.''] = ereg_replace("ä", "ae" , $link_ebene1_neu_1[''.$a.'']);
$link_ebene1_neu_3[''.$a.''] = ereg_replace("ü","ue" , $link_ebene1_neu_2[''.$a.'']);
$link_ebene1_neu_4[''.$a.''] = ereg_replace("ö","oe" , $link_ebene1_neu_3[''.$a.'']);
$link_ebene1_neu_5[''.$a.''] ="".$link_ebene1_neu_4.".html";


$link_ebene1_neu['1'] wäre jetzt Über Uns. $link_ebene1_neu_5['1'] ist dann einfach Ü.html.

Ich komme nicht mehr weiter. Hat mir jemand einen Tipp?

w4p

netcup.de Warum gibt es hier Werbung?
der_nic der_nic am 03.08.06 15:42

wäre hier str_replace nicht einfachter?

milahu milahu am 03.08.06 15:43

..und wozu denn die ganzen Leerstrings? 0.o Phreak..

w4p am 03.08.06 16:05

hab ereg_replace() mal durch str_replace ersetzt. funktioniert trotzdem nicht.

was meinst du mit leerstrings?

Black am 03.08.06 16:25

Quote
Original von w4p
Hallo Zusammen,

Ich bin gerade dabei ein Scripts zu programmieren das aus einem Link (z.B. Über Uns) einen "Browserfähigen" Link macht (ueber_uns.html). Dazu benutze ich die Funktion ereg_replace().

Hier mal ein Teil meines Scripts: for ($a = 1; $a <= $links; $a++) {
$link_ebene1_neu_1[''.$a.''] = ereg_replace(" " , "_", $link_ebene1_neu[''.$a.'']);
$link_ebene1_neu_2[''.$a.''] = ereg_replace("ä", "ae" , $link_ebene1_neu_1[''.$a.'']);
$link_ebene1_neu_3[''.$a.''] = ereg_replace("ü","ue" , $link_ebene1_neu_2[''.$a.'']);
$link_ebene1_neu_4[''.$a.''] = ereg_replace("ö","oe" , $link_ebene1_neu_3[''.$a.'']);
$link_ebene1_neu_5[''.$a.''] ="".$link_ebene1_neu_4.".html";


$link_ebene1_neu['1'] wäre jetzt Über Uns. $link_ebene1_neu_5['1'] ist dann einfach Ü.html.

Ich komme nicht mehr weiter. Hat mir jemand einen Tipp?

w4p

Du solltest hier besser die Funktion strtr nutzen.
Und auch dein ''.$a.'' ist komplett unnötig!
Machs z.b. so:

for ($a = 1; $a <= $links; $a++)
$link[$a] = strtr($link_ebene1_neu[$a], array(' ' => '_', 'ä' => 'ae', 'ü' => 'ue', 'ö' => 'oe')).'html';

Gruß Black

tnY am 03.08.06 16:26

$search = array(':ss:','ae','Ae','oe','Oe','Ue','ue'');
$replace = array('ß','ä','Ä','ö','Ö','Ü','ü');

$blabla = str_replace($search, $replace, $row['blub']);

falls du db benutzt müsste auch ohne das $row funktionieren..
liebe grüße

tnY am 03.08.06 16:31

also das row[blub] gibt ja nur an wo es drauf angewendet werden soll musst du deinen anforderungen anpassen.. und ins array kannst natürlich noch andere sachen einfügen z.b. im search '.html' und dann im replace einfach leerlassen '' dann wird kein .html angezeigt etc

// seh grad mein skript arbeitet genau andersrum als du es willst.. eg dient es mir um nen .jpg bild nur den dateinamen als beschreibung anzuzeigen.. musst du halt die reihenfolge ändern

Snake am 03.08.06 16:38

Quote
Original von Black
Machs z.b. so:

for ($a = 1; $a <= $links; $a++)
$link[$a] = strtr($link_ebene1_neu[$a], array(' ' => '_', 'ä' => 'ae', 'ü' => 'ue', 'ö' => 'oe')).'html';

Gruß Black

Quote
Orginal von http://de3.php.net/strtr
string strtr ( string str, string from, string to )

string strtr ( string str, array replace_pairs )

Diese Funktion gibt eine Kopie von str zurück, in der alle Vorkommen jedes Zeichens von from in das korrespondierende Zeichen in to umgewandelt wurde.

Haben from und to eine unterschiedliche Länge, werden die überzähligen Zeichen im jeweils längeren Parameter ignoriert.

das trifft bei deinem code zu

Black am 03.08.06 16:52

Quote
Original von Snake
[quote]Original von Black
Machs z.b. so:

for ($a = 1; $a <= $links; $a++)
$link[$a] = strtr($link_ebene1_neu[$a], array(' ' => '_', 'ä' => 'ae', 'ü' => 'ue', 'ö' => 'oe')).'html';

Gruß Black

Quote
Orginal von http://de3.php.net/strtr
string strtr ( string str, string from, string to )

string strtr ( string str, array replace_pairs )

Diese Funktion gibt eine Kopie von str zurück, in der alle Vorkommen jedes Zeichens von from in das korrespondierende Zeichen in to umgewandelt wurde.

Haben from und to eine unterschiedliche Länge, werden die überzähligen Zeichen im jeweils längeren Parameter ignoriert.

das trifft bei deinem code zu[/quote]
Wenn ich from und to angegeben hätte ;)
Ich habe aber "array replace_pairs" angegeben, daher triffts nicht zu.
Gruß

w4p am 03.08.06 22:00

Danke vielmals! Ich habe nun die strstr Lösung genommen. Es funktioniert wunderbar!

Danke nochmals!

w4p

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt