Hilfe bei Regular Expressions

kibOo

Grünschnabel
Hallo Leute,

ich bin leider nicht so fit mit den Regex., daher wäre ich sehr froh, wenn mir hier jemand von euch helfen könnte.

Nun zu meinem Problem: Ich habe einen String mit mindestens 2 Slashes ( / ), die jeweils von unbekannt vielen Zeichen umgeben sind und möchte erst danach alle nächsten Slashes (also den 3., 4., usw.) durch nichts ersetzen.

Wenn mit da jemand helfen könnte, wäre ich sehr froh. Danke.
kibOo :)
 
Du willst in einem String alle Slashes, die aufeinander folgen (bis auf zwei) entfernen?

Code:
$txt = preg_replace('=///*=', '//', $txt);
split
 
Nein. Vielleicht habe ich es nicht genau formuliert.

Ich habe einen String: $str = "teil1/teil2/teil3/teil4/teil5";

Von $str möchte ich nun die ersten beiden Slashes die auftreten ignorieren, die restlichen Slashes aber durch nichts ersetzen (quasi löschen!).
Trotzdem Danke.

kibOo
 
Zuletzt bearbeitet:
Von $str möchte ich nun die ersten beiden Slashes die auftreten ignorieren, die restlichen Slashes aber durch nichts ersetzen.
Wenn du von einer Zeichenkette die ersten beiden auftretenden Slashs ignorierst, die restlichen aber durch nichts ersetzt, bleibt die Zeichenkette unverändert.
 
"durch nichts ersetzen" entspricht str_replace("/","",$str);
...quasi entfernen!
Hab ich mich denn soooooo kompliziert ausgedrückt? Mein Güte...:(
 
ich denke das ist etwas das was du willst.
vielleicht gehts noch kürzer mit regex... oder sonstwie, auf die schnelle mach ichs so ;)
code:
Code:
<?php
/*
 * PHP example, String ab/bis zu einem Grenzwert mit STRING ersetzen.
 * @author Ueli Kunz
 */

$string = "la/lala/bla/bla/bla";

//string umkehren und als array speichern
$string_ = (array) $string;
$string_ = array_reverse($string_);

//array als string in einzelteile zerlegen bis das zweitletzte erreicht wird
$string_roh = explode("/",implode($string_),substr_count($string_,"/")-2);

$string_final = implode($string_roh);

echo "Ohne / :  <br/>&nbsp;".$string_final."<br/>";
echo "Mit (Orginal) / :  <br/>&nbsp;".$string;
?>
 
Mal was zwischendurch: Falls du das z.B. http:// einer URL entfernen möchtest, würde ich dir erstens davon abraten, und zweitens die parse_url()-Funktion empfehlen.
 
Gumbo hat gesagt.:
Mal was zwischendurch: Falls du das z.B. http:// einer URL entfernen möchtest, würde ich dir erstens davon abraten, und zweitens die parse_url()-Funktion empfehlen.
Das ist ja schön, passt aber auch nicht zu Thema!
@Bubblez: Danke. Habe es jetzt allein geschafft. Allerdings nicht mit RegEx, sondern 2 for-Schleifen und nem Array. :)
Danke nochmals!

kibOo
 
Zurück