tutorials.de Buch-Aktion 05/2012
Like Tree4Danke
  • 1 Beitrag von Yaslaw
  • 1 Beitrag von Yaslaw
  • 1 Beitrag von Raisch
  • 1 Beitrag von Raisch
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
256
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    JesusFreak777 JesusFreak777 ist offline Mitglied Brokat
    Registriert seit
    Nov 2007
    Beiträge
    255
    Hallo ihr,

    ich habe einen Test der ca. so aussieht!

    PHP-Code:
    $text "Das ist ein <span id='123' class='klasse' text='beschreibung zu diesen textteil'>1</span> bestimmter text!"
    Jetzt möchte ich das span rauslöschen und abändern bzw. was hinzufügen!

    Der fertige Text soll dann so aussehen!

    PHP-Code:
    $text "Das ist ein <SUP><span id='".$z."' class='andereklasse' text='beschreibung zu diesen textteil'>1</span></SUP> bestimmter text!"
    mithilfe vom Internetz hab ich schonmal das span gelöscht! Aber so richtig hilft das mir auch nicht weiter!
    PHP-Code:
    preg_replace('#<(/*)span[^>]*>#msi''?'$str); 
    So kann ich zwar auch was davor und dahinter einfügen, aber das gleiche bringt mich nicht ganz zum Ergebnis!


    Danke jetzt schon für eure Hilfe

    -> was ich auch auch interessatn fände, wie lösche ich ein attribut? z.B. die ID****?
    Geändert von JesusFreak777 (25.01.12 um 08:51 Uhr)
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    item: Die ID löschen? Du willst ja eh den ganezn span-Tag ersetzen. Dann lass die ID einfach weg

    item: In deinem Beispiel änderst du nur die ID und die class. Willst du jetzt den ganzen span-Tag ersetzn oder nur diese 2 Argumente?

    Annahme: Du willst nur die class und die id ersetzen
    PHP-Code:
    $pattern '/(<span id=)'[[:digit:]]+'( class=)'[[:alnum:]]+'( [^>]+>)/isU';
    $replace "\1'{$z}'\2'alpha'";
    $result preg_replace($pattern$replace$subject); 
    JesusFreak777 bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    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

  3. #3
    JesusFreak777 JesusFreak777 ist offline Mitglied Brokat
    Registriert seit
    Nov 2007
    Beiträge
    255
    Hallo,

    ich versteh das mit den [] nicht ganz...

    syntax error, unexpected '['

    -> da muss ich bestimmt was ersetzen/ergänzen!?

    Ich hab noch nen 2. Problemfall wo es ähnlich aufgebaut ist (deshalb kein neues Thema), nur dort müssen einzelne Attribute gelöscht werden!

    Dort steht dann im span noch ein name und eine id die mich stören! Wie kann ich diese Löschen!

    In diesen Fall muss jetzt erstmal nur die ID und die class geändert werden!

    Vielen Dank!
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Sorry, mein Fehler (C&P ist schuld). In einem String der mit ' begrenzt ist, müssten ' im String escapt werden oder der String in " fassen.
    PHP-Code:
    $pattern "/(<span id=)'[[:digit:]]+'( class=)'[[:alnum:]]+'( [^>]+>)/isU"
    [] Ist ein Klammer um zu sagen es sind alle in der Klammer aufgeführten Zeichen gültig.
    [1-3] heisst, es ist 1,2 und 3 gültig
    [:digit:] entspricht 0-9
    [:alnum:] entspricht a-zA-Z0-9
    JesusFreak777 bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    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

  5. #5
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Zitat Zitat von JesusFreak777 Beitrag anzeigen
    Hallo,

    ich versteh das mit den [] nicht ganz...

    syntax error, unexpected '['

    -> da muss ich bestimmt was ersetzen/ergänzen!?

    Ich hab noch nen 2. Problemfall wo es ähnlich aufgebaut ist (deshalb kein neues Thema), nur dort müssen einzelne Attribute gelöscht werden!

    Dort steht dann im span noch ein name und eine id die mich stören! Wie kann ich diese Löschen!

    In diesen Fall muss jetzt erstmal nur die ID und die class geändert werden!

    Vielen Dank!
    Änder mal:
    PHP-Code:
    $pattern '/(<span id=)'[[:digit:]]+'( class=)'[[:alnum:]]+'( [^>]+>)/isU'
    in:
    PHP-Code:
    $pattern "/(<span id=)'[[:digit:]]+'( class=)'[[:alnum:]]+'( [^>]+>)/isU"
    JesusFreak777 bedankt sich. 

  6. #6
    JesusFreak777 JesusFreak777 ist offline Mitglied Brokat
    Registriert seit
    Nov 2007
    Beiträge
    255
    Hallo,

    tut mir leid, ich stell mich etwas dumm an :/ ...

    hier mal mein Quählcode:
    PHP-Code:
    $str 'Irgendein geheimer text <span text="mit einem verweis" class="footnote" id="b26ref40001008footnote3">3</span>. und noch mehr text<span text="und noch nen verweis" class="footnote" id="b26ref40001008footnote4">4</span> noch a bissle!';
    echo 
    $str;
    echo 
    "<br/>";

    echo 
    htmlentities($str);
    echo 
    "<br/>";
    echo 
    "--------------------------------";
    echo 
    "<br/>";

    $z 123;
    $pattern "/(<span id=)'[[:alnum:]]+'( class=)'[[:alnum:]]+'( [^>]+>)/isU"
    $replace "\1'{$z}'\2'alpha'";
    $result preg_replace($pattern$replace$str);  



    echo 
    htmlentities($result); 
    es kann vorkommen das es im span zu verschiebungen kommt (habe ich leider erst jetzt festgestellt -> also das erst ID dann TEXT kommt, wann anders erst TEXT dann ID...)

    -> Momentan entspricht mein Ergebniss noch dem Ausgangszustand.... Warum?
     

  7. #7
    JesusFreak777 JesusFreak777 ist offline Mitglied Brokat
    Registriert seit
    Nov 2007
    Beiträge
    255
    hat keiner ne idee für mich?

    Habe gesehen das es für Javascript ne lösung gibt!

    http://de.selfhtml.org/javascript/ob...move_attribute

    Das ist aber Clientseitig und ich brauch das Serverseitig!

    Die class kann ich mit nen normalen replace ersetzten, die ist immer gleich! Aber die ID ist unterschiedlich lang (einfach undefiniert) -> am liebsten wäre es mir diese zu entfernen da ich keinen verwendungszweck habe!
     

  8. #8
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Zitat Zitat von JesusFreak777 Beitrag anzeigen
    hat keiner ne idee für mich?

    Habe gesehen das es für Javascript ne lösung gibt!

    http://de.selfhtml.org/javascript/ob...move_attribute

    Das ist aber Clientseitig und ich brauch das Serverseitig!

    Die class kann ich mit nen normalen replace ersetzten, die ist immer gleich! Aber die ID ist unterschiedlich lang (einfach undefiniert) -> am liebsten wäre es mir diese zu entfernen da ich keinen verwendungszweck habe!
    Die ID könntest Du so rausfiltern:
    PHP-Code:
    $data preg_replace'#<span(.*?) id=(["|\']{1})(.*?)\\2(.*?)>#msi''<span\\1\\4>'$data ); 
    Gruß

    EDIT//
    So ist es evtl. sogar noch etwas genauer:
    PHP-Code:
    $data preg_replace'#<span(.*?)([ ]+id=(["|\']{1})(.*?)\\3)(.*?)>#msi''<span\\1\\5>'$data ); 
    Geändert von Raisch (26.01.12 um 12:13 Uhr)
    JesusFreak777 bedankt sich. 

Ähnliche Themen

  1. Tutorials mit Wink erstellen, anderes Format?
    Von sk91 im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 1
    Letzter Beitrag: 26.05.10, 17:53
  2. Antworten: 4
    Letzter Beitrag: 03.03.09, 20:41
  3. Erstellen und Löschen von Dateien
    Von 2Pac im Forum PHP
    Antworten: 13
    Letzter Beitrag: 26.01.09, 19:57
  4. textfeld erstellen, wenn anderes angeklickt
    Von darkangel1208 im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 27.11.07, 01:25
  5. Antworten: 5
    Letzter Beitrag: 01.07.07, 14:25

Stichworte