Willkommen in der Webstatt
User-1 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?

xyz-232

netcup.de Warum gibt es hier Werbung?
User-2 am 03.08.06 15:42

wäre hier str_replace nicht einfachter?

User-3 am 03.08.06 15:43

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

User-1 am 03.08.06 16:05

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

was meinst du mit leerstrings?

User-4 am 03.08.06 16:25

Quote
Original von xyz-232
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?

xyz-232

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ß xyz-25

User-5 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

User-5 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

User-6 am 03.08.06 16:38

Quote
Original von xyz-25
Machs z.b. so:

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

Gruß xyz-25

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

User-4 am 03.08.06 16:52

Quote
Original von xyz-193
[quote]Original von xyz-25
Machs z.b. so:

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

Gruß xyz-25

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ß

User-1 am 03.08.06 22:00

xyz-48ke vielmals! Ich habe nun die strstr Lösung genommen. Es funktioniert wunderbar!

xyz-48ke nochmals!

xyz-232

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

Impressum & Kontakt