tutorials.de Buch-Aktion 05/2012
Like Tree3Danke
  • 1 Beitrag von DeluXe
  • 1 Beitrag von Duxias
  • 1 Beitrag von CookieBuster
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
212
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Gangsterneo
    Gangsterneo Gangsterneo ist offline Mitglied Silber
    Registriert seit
    Dec 2003
    Ort
    berlin
    Beiträge
    92
    Hallo liebe Community,

    ich habe mir für mein Newsscript ein Textreplace (Bold,Url, img) Funktion gebastelt. Nun wollt ich noch eine Quote Funktion hinzufügen. Das klappt bei einzeiligen Quotes auch super. Aber mehrzeilige Quotes wollen bei mir nicht funktionieren. Was muss ich noch hinzufügen damit das funktionier?

    PHP-Code:
    function replacescript$repl )
    {
        
    $repl preg_replace('/\[quote=([^ ]+).*\](.*)\[\/quote\]/''<table width="450" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td bgcolor="#666666"><strong>Quote: </strong> $1</td></tr><tr><td bgcolor="#454545"><em>$2</em></td></tr></table>'$repl);

        return 
    $repl;

    Mit freundlichen Grüßen,
    Gangstaaa
     

  2. #2
    DeluXe DeluXe ist offline Funkjoker
    Registriert seit
    Jul 2004
    Ort
    Offenburg
    Beiträge
    847
    Ins Blaue hinein geraten würde ich tippen, dass dir nl2br() weiterhelfen sollte.
    Gangsterneo bedankt sich. 
    mfg

    DeluXe

  3. #3
    Avatar von Gangsterneo
    Gangsterneo Gangsterneo ist offline Mitglied Silber
    Registriert seit
    Dec 2003
    Ort
    berlin
    Beiträge
    92
    manchmal reicht nen Denkasntoß...
    Dank dir!
     

  4. #4
    Avatar von Gangsterneo
    Gangsterneo Gangsterneo ist offline Mitglied Silber
    Registriert seit
    Dec 2003
    Ort
    berlin
    Beiträge
    92
    Das kann aber auch nicht der Fehler sein. Denn ich benutze später unten bei dem Text ja:

    PHP-Code:
                $text1 replacescript(nl2br($row['news']));
                    
    $text2 str_replace($search$replace$text1 ); 
    Also theoretisch müßten da ja die nl2br schon enthalten sein.
    Ich glaube bei dem ersten Teil des Scriptest stimmt vll. irgendetwas nicht :/


    Momentan sieht die ausgabe mit dem Quote so aus:
    siehe erste News auf: www.fortiZ.de


    kann es sein, dass
    PHP-Code:
     $repl preg_replace('/\[quote=([^ ]+).*\](.*)\[\/quote\]/''<table width="450" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td bgcolor="#666666"><strong>Quote: </strong> $1</td></tr><tr><td bgcolor="#454545"><em>$2</em></td></tr></table>'$repl); 
    nur eine Zeile unter die Lupe nimmt?

    Es sieht so aus als würde er das [/quøte] ein paar Zeilen darunter nicht erkennen.
    Geändert von Gangsterneo (14.04.09 um 21:55 Uhr)
     

  5. #5
    Duxias Duxias ist offline Mitglied Silber
    Registriert seit
    Jul 2007
    Beiträge
    83
    Versuchs mal mit dem Modifier s:
    PHP-Code:
    preg_replace('/\[quote=([^ ]+).*\](.*)\[\/quote\]/s''<table width="450" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td bgcolor="#666666"><strong>Quote: </strong> $1</td></tr><tr><td bgcolor="#454545"><em>$2</em></td></tr></table>'$repl); 
    Damit trifft der Punkt in deinem RegEx auch auf Zeilenumbrüche zu!
    Gangsterneo bedankt sich. 

  6. #6
    Avatar von Gangsterneo
    Gangsterneo Gangsterneo ist offline Mitglied Silber
    Registriert seit
    Dec 2003
    Ort
    berlin
    Beiträge
    92
    Ok habs jetzt fast!

    PHP-Code:
    preg_replace('/\[quote=(.*?)\](.*)\[\/quote\]/s''<table width="450" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td bgcolor="#666666"><strong>Quote: </strong> $1</td></tr><tr><td bgcolor="#454545"><em>$2</em></td></tr></table>'$bb); 
    Danke für den Tipp mit /s funktioniert jetzt.

    Ich muss nurnoch das Quote ende finden.. wenn ich zwei Quotes im Text habe... nimmt er das letzte [/quøte] und nicht das nächste x_X

    das heißt kann nur einmal im Text zitieren
     

  7. #7
    Avatar von CookieBuster
    CookieBuster CookieBuster ist offline <?= "Hello World" ?>
    Registriert seit
    Sep 2008
    Ort
    Münsingen (BW)
    Beiträge
    420
    Blog-Einträge
    4
    das war ein i oder u (neme sicher oO) für ungreedy, also nicht gierig.


    nach dem wohl eher u :O


    e:/ natürlich als modifier für den ReGex
    Gangsterneo bedankt sich. 
    There are only 10 types of people in the world — those who understand binary, and those who don't.

    Mach mal einer das Licht an, ich hör nix!

    Why is 6 afraid of 7? Because 7 8 9.

  8. #8
    Avatar von Gangsterneo
    Gangsterneo Gangsterneo ist offline Mitglied Silber
    Registriert seit
    Dec 2003
    Ort
    berlin
    Beiträge
    92
    Muss mich mit den Modifiers mal genauer auseinandersetzen.
    Dank euch für die schnellen Antworten.
     

  9. #9
    Avatar von Gangsterneo
    Gangsterneo Gangsterneo ist offline Mitglied Silber
    Registriert seit
    Dec 2003
    Ort
    berlin
    Beiträge
    92
    Es funktioniert 'fast' perfekt.

    PHP-Code:
        $repl preg_replace('/\[quote=([^ ]+).*\](.*)\[\/quote\]/Uis''<table width="450" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td bgcolor="#666666"><strong>Quote: </strong> $1 </td></tr><tr><td bgcolor="#454545"><em>$2</em></td></tr></table>'$repl); 
    nun zeigt er dann z.B. bei
    dem Text:
    [quøte=wacken.com]
    Text
    Text
    Text
    [/quøte]
    folgendes an

    Quote: w
    Text
    Text
    Text
    also es funktioniert.. bis auf das er statt wacken.com nur w anzeigt.
    Woran kann das liegen?
     

  10. #10
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    Zitat Zitat von Gangsterneo Beitrag anzeigen
    Code :
    1
    
        $repl = preg_replace('/\[quôte=[COLOR="Red"][B]([^ ]+).*[/B][/COLOR]\](.*)\[\/quôte\]/Uis', '<table width="450" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td bgcolor="#666666"><strong>Quote: </strong> $1 </td></tr><tr><td bgcolor="#454545"><em>$2</em></td></tr></table>', $repl);
    mach mal das ".*" weg. Welchen Sinn sollte das überhaupt haben?

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

  11. #11
    Avatar von Gangsterneo
    Gangsterneo Gangsterneo ist offline Mitglied Silber
    Registriert seit
    Dec 2003
    Ort
    berlin
    Beiträge
    92
    <3

    Dank dir

    Ich hatte das aus den RegExp Beispiel für url entnommen.
     

Ähnliche Themen

  1. &quote; in xml datei
    Von ARadauer im Forum Java
    Antworten: 3
    Letzter Beitrag: 29.10.07, 17:42
  2. [QUOTE] Verschachteln
    Von BSA im Forum PHP
    Antworten: 2
    Letzter Beitrag: 23.10.05, 13:01
  3. HTML - CODE und QUOTE! Das will Ich auch!!
    Von Alexander12 im Forum HTML & XHTML
    Antworten: 6
    Letzter Beitrag: 27.09.05, 19:20
  4. quote-Funktion bei Forum
    Von BeaTBoxX im Forum PHP
    Antworten: 3
    Letzter Beitrag: 04.03.05, 12:37
  5. bb codes - quote
    Von acid.rain im Forum PHP
    Antworten: 1
    Letzter Beitrag: 03.11.03, 10:57