tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von chmee
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
225
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    joshua444 joshua444 ist offline Grünschnabel
    Registriert seit
    Dec 2011
    Beiträge
    2
    Hi

    ich bin neu hier, habe vor ein paar wochen mit php angefangen und hätte ein paar fragen, da ich zur zeit an einem kleinem script schreibe.

    a) ich würde gerne in einer txt-datei nach einem bestimmten zeichen suchen und hinter diesem zeichen soll alles gelöscht werden.
    das klappt auch. nur dann wird alles gelöscht. ich würde aber nun gerne nur alles hinter dem Zeichen löschen, das auch in der selben Zeile ist. Also die zweite Zeile soll davon nicht betroffen sein.
    Und mein Script soll die gesamte txt-datei so durchsuchen. es befindet sich in jeder zeile ein gewisses Zeichen, das soll gesucht werden und dann soll alles danach gelöscht werden.
    in der nächsten zeile genauso wieder.
    wie könnte ich das realisieren? ein kleines beispiel wäre sehr nett!

    dankeschön und euch allen wunderschöne feiertage!
     

  2. #2
    Avatar von chmee
    chmee chmee ist offline mod | media
    tutorials.de Moderator
    Registriert seit
    Apr 2004
    Ort
    Berlin bei Potsdam
    Beiträge
    7.630
    Blog-Einträge
    4
    preg_replace() sollte Dein Freund sein. RegExp anschauen und Hier ausprobieren.

    mfg chmee
    joshua444 bedankt sich. 
    Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
    Benutzt den DANKE-Knopf oder bewertet den Beitrag

    "GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
    -> Regexp <- -> php <- -> Javascript <-

  3. #3
    joshua444 joshua444 ist offline Grünschnabel
    Registriert seit
    Dec 2011
    Beiträge
    2
    Habs verstanden. Das mit preg_replace funktioniert super
    Nur eins: Wie lösche ich mit RegEx alles in der Zeile nach dem Zeichen ";" ? Beispielcode?

    //edit: ich formuliers mal anders, bzw. machs anders:
    ich würde gerne die gesamte text-datei durchsuchen. es soll jeder string gelöscht werden, außer diejenigen, in den ein "x" vorkommt.

    lg.
    Geändert von joshua444 (23.12.11 um 01:19 Uhr)
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Annahme: du meisnt mit Texten Zeilen. Also Jede Zeile die kein X enthelten sollen gelöscht werden.

    Mit file() die Datei in einen Zeilen-Array einlesen.
    Anschliessend mittels array_filter() die Zeilen ohne X ausfiltern und anschliessend kann man das ganze mit implode() wieder zu einem grossen String verbinden

    PHP-Code:
    $textA file('file.txt');
    $newTextA array_filter($textA'filter_x');
    $newText implode("\n"$newTextA);
    echo 
    $newText;

    function 
    filter_x($line){
        return (
    preg_match('/^.*X.*$/i'$line)) == 1;         


    Nachtrag:
    Du kannst natürlich auch mit preg_match_all() und dem Paramter m arbeiten. SO kannst du die ganez Datei auf einmal parsen. darum muss die Detei auch nicht mehr Zeilenweise eingelesen werden.

    Modifier m (multiline)

    Falls im Regulären Ausdruck Zirkumflex und Dollarzeichen in ihrer Funktion als Metazeichen verwendet werden, beziehen sich diese immer auf den gesamten Text. Ist der Modifier m gesetzt, so gelten ^ und $ nur für jede einzelne Zeile.
    PHP-Code:
      $text file_get_contents('file.txt');
      
    preg_match_all'/^.*X.*$/im'$text$result); 
      
    $newText implode("\n"$result[0]);
      echo 
    $newText
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

Ähnliche Themen

  1. kleine AnfängerFrage... Ojektorientierung...
    Von deAndro im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 24.12.11, 10:14
  2. Suche eine Projekt oder eine kleine Gruppe
    Von Code46 im Forum Stellengesuche (unentgeltlich)
    Antworten: 0
    Letzter Beitrag: 21.03.10, 13:49
  3. Anfängerfrage: Auf eine PictureBox zeichnen? Wie?
    Von u918244 im Forum .NET Grafik und Sound
    Antworten: 6
    Letzter Beitrag: 06.05.08, 18:35
  4. Antworten: 4
    Letzter Beitrag: 19.05.07, 16:59
  5. Eine kleine Frage!
    Von Blümchen im Forum HTML & XHTML
    Antworten: 1
    Letzter Beitrag: 10.08.05, 15:27