mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 15:02 Benutzername: Passwort: Auto-Login

Thema: [php] Zeichenkette zwischen zwei Klammern entfernen vom 24.08.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php] Zeichenkette zwischen zwei Klammern entfernen
Seite: 1, 2  Weiter
Autor Nachricht
dkl
Threadersteller

Dabei seit: 30.07.2007
Ort: Halle (Saale)
Alter: 44
Geschlecht: Männlich
Verfasst Fr 24.08.2007 14:36
Titel

[php] Zeichenkette zwischen zwei Klammern entfernen

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich habe einen String der Form "Benutzername(Vorname Nachname)" und will/muss alle Zeichen zwischen den Klammern und die Klammern entfernen, so das am Ende nur der Benutzername übrigbleibt.
Ich vermute, dass sich die Lösung mit regulären Ausdrücken finden lässt, aber leider habe ich damit keine Erfahrung. Hat jemand eine Lösung für die Aufgabe?

Viele Grüße und vielen Dank schonmal,
Dan
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Backware

Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht: Männlich
Verfasst Fr 24.08.2007 14:50
Titel

Re: [php] Zeichenkette zwischen zwei Klammern entfernen

Antworten mit Zitat Zum Seitenanfang

dkl hat geschrieben:
Hallo,

ich habe einen String der Form "Benutzername(Vorname Nachname)" und will/muss alle Zeichen zwischen den Klammern und die Klammern entfernen, so das am Ende nur der Benutzername übrigbleibt.
Ich vermute, dass sich die Lösung mit regulären Ausdrücken finden lässt, aber leider habe ich damit keine Erfahrung. Hat jemand eine Lösung für die Aufgabe?

Viele Grüße und vielen Dank schonmal,
Dan


Ganz einfach: ^(\w+)\(.+$

Edit sagt, ich sollte ne erklärung abgeben:

^ = Start
( = Ab hier brauchen wir was
\w = jedes Zeichen (musst du auf die deklaration eines "richtigen" benutzernamens anpassen)
+ = egal wieviele Zeichen aber mindestens 1
) = mehr brauchen wir nicht
\( = Das was wir brauchen muss mit einer öffnenden Klammer unterbrochen werden, da alles VOR der klammer nur interessant ist.
.+ = jetzt kann kommen was will... das ist uns einfach egal
$ = Ende

^ und $ sind nicht 100% notwendig.

:-) Viel Spaß.

PS: bzw. noch ein edit:

^([\w\s]+)\(.+$

falls du noch leerzeichen im benutzernamen werlauben willst.


Zuletzt bearbeitet von Backware am Fr 24.08.2007 14:55, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
dkl
Threadersteller

Dabei seit: 30.07.2007
Ort: Halle (Saale)
Alter: 44
Geschlecht: Männlich
Verfasst Fr 24.08.2007 14:57
Titel

Antworten mit Zitat Zum Seitenanfang

Wenn du mir jetzt noch sagen kannst, wie ich das in einem PHP-Befehl realisiere wäre ich dir unendlich dankbar Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
dkl
Threadersteller

Dabei seit: 30.07.2007
Ort: Halle (Saale)
Alter: 44
Geschlecht: Männlich
Verfasst Fr 24.08.2007 15:12
Titel

Antworten mit Zitat Zum Seitenanfang

Habe es mit folgenden Code versucht:

Code:
<?php
    $with = "dankling(Daniel Kling)";
    $regexp = "^([\w\s]+)\(.+$";
    $replace = "";
   
    $without = ereg_replace( $regexp, $replace, $with );
   
    echo "<p>Vorher: ".$with."</p>";
    echo "<p>Nachher: ".$without."</p>";
?>


Die Ausgabe lautet:

Vorher: dankling(Daniel Kling)
Nachher: dankling(Daniel Kling)
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Backware

Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht: Männlich
Verfasst Fr 24.08.2007 15:13
Titel

Antworten mit Zitat Zum Seitenanfang

dkl hat geschrieben:
Wenn du mir jetzt noch sagen kannst, wie ich das in einem PHP-Befehl realisiere wäre ich dir unendlich dankbar Lächel


Ich geb dir was NOCH BESSERES!!! Grins

Ich zeig dir, wie du das lernst *bäh*.

http://de2.php.net/manual/de/function.preg-match.php

Dort ist die Funktion die du dafür brauchst.

wenn du in deinem String das ganze nur ersetzt haben willst, sprich also den benutzernamen garnicht extrahiert haben willst, dann brauchst du folgendes:

- diese funktion: http://de2.php.net/manual/de/function.preg-replace.php

Wenn du GARNICHT mit PHP kannst, dann frag ich dich, wieso du ein solches Problem hast bzw. das Projekt hast *bäh*
Für weitere Fragen steh ich gerne in diesem Thread bereit.
  View user's profile Private Nachricht senden
Backware

Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht: Männlich
Verfasst Fr 24.08.2007 15:28
Titel

Antworten mit Zitat Zum Seitenanfang

Hier. Hatte wohl einen Fehler drin wegen dem \w *bäh*

Code:
    $with = "dankling(Daniel Kling)";
    $regexp = '^([a-zA-Z0-9\s]+)\(.+$';
    $replace = "";
   
    $without = eregi_replace( $regexp, "\\1", $with );
   
    echo "<p>Vorher: ".$with."</p>";
    echo "<p>Nachher: ".$without."</p>";


Ausgabe bei mir:

Vorher: dankling(Daniel Kling)

Nachher: dankling
  View user's profile Private Nachricht senden
dkl
Threadersteller

Dabei seit: 30.07.2007
Ort: Halle (Saale)
Alter: 44
Geschlecht: Männlich
Verfasst Fr 24.08.2007 15:34
Titel

Antworten mit Zitat Zum Seitenanfang

Super Lächel es klappt ... und wie sieht die regexp aus wenn der Nutzername jetzt noch ein Leerzeichen enthält? Das kann leider auch passieren *Schnief*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Backware

Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht: Männlich
Verfasst Fr 24.08.2007 15:40
Titel

Antworten mit Zitat Zum Seitenanfang

dkl hat geschrieben:
Super Lächel es klappt ... und wie sieht die regexp aus wenn der Nutzername jetzt noch ein Leerzeichen enthält? Das kann leider auch passieren *Schnief*


^([a-zA-Z0-9 ]+)\(.+$

einfach das \s durch ein leerzeichen ersetzen und gut ist Lächel
  View user's profile Private Nachricht senden
 
Ähnliche Themen [PHP]Unbekannte Zeichenkette entfernen
PHP->Zeichenkette abschneiden
PHP Letzten 4 Zeichen löschen und neue Zeichenkette anhängen
Zwei <Forms>, Zwei Checkboxen und ein Problem
Ruby: console vs. Klammern
session id aus url entfernen
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.