<br /> zwischen BBTags

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • <br /> zwischen BBTags

    Hallo,

    ich hab mal wieder ein regex problem, ich suche eine möglichkeit <br /> (oder \r\n) ausserhalb, von bestimmten BBCode Tags, zu entfernen

    PHP-Code:
    [P][B]Fett[/B]<br />
    Text text text[/P]<br />
    <
    br />[LISTE]<br />
    [
    x]Item 1[/x]<br />
    [
    x]Item 2[/x]<br />
    [\/
    LISTE]<br />
    <
    br />
    [
    P][B]Fett[/B]<br />
    Text text text[/P
    rauskommen soll sowas:

    PHP-Code:
    [P][B]Fett[/B]<br />
    Text text text[/P][LISTE][x]Item 1[/x][x]Item 2[/x][/LISTE][P][B]Fett[/B]<br />
    Text text text[/P
    also im prinzip alle <br /> innerhalb von [P][/P] sollen bleiben alles ausserhalb davon soll ersetzt werden

    hat da irgendjemand eine idee?
    the end comes faster than you think - you've already reached it!

  • #2
    ich hab mal wieder ein regex problem
    Komisch, dass du nicht mal den Ansatz eines Patterns postest.

    Kommentar


    • #3
      Idee hmm....

      zunächst einmal willst du das es im [p] [p] zu lässig ist und für alle anderen Fälle das es entsorgt wird...

      Daraus folgt das die Aussage "wenn <br /> NICHT innerhalb von [p] [/p]"

      Du deinen Zielkandidaten bekommst...


      Für deine PCRE Spielchen kannst du dir mal diese Seite anschauen
      -> http://regexp-evaluator.de/

      Unser lieber Hundefreund, hat dort sämtliche Infos bzgl. PCRE zusammengetragen, Tutorials erstellt und ein komfortables Auswertungstool gebaut was ich persönlich sehr schätze
      [color=blue]MfG Payne_of_Death[/color]

      [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
      [color=red]Merke:[/color]
      [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

      Murphy`s Importanst LAWS
      Jede Lösung bringt nur neue Probleme
      Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
      In jedem kleinen Problem steckt ein großes, das gern raus moechte.

      Kommentar


      • #4
        Original geschrieben von TobiaZ
        Komisch, dass du nicht mal den Ansatz eines Patterns postest.
        weil ich vor jahren schon nicht damit zurecht gekommen bin... und als nicht webentwickler hat man halt noch weniger mit regulären ausdrücken zu tun (zum. das was ich mach)

        Idee hmm.... zunächst einmal willst du das es im [p] [p] zu lässig ist und für alle anderen Fälle das es entsorgt wird... Daraus folgt das die Aussage "wenn <br /> NICHT innerhalb von [p] [/p]" Du deinen Zielkandidaten bekommst... Für deine PCRE Spielchen kannst du dir mal diese Seite anschauen -> http://regexp-evaluator.de/ Unser lieber Hundefreund, hat dort sämtliche Infos bzgl. PCRE zusammengetragen, Tutorials erstellt und ein komfortables Auswertungstool gebaut was ich persönlich sehr schätze
        mein problem ist nicht das ich die ganzen seiten / tools nicht kennen würde ... sondern das mit die nicht weiterhelfen ... was hab ich davon wenn ich mir in stundenlager fuzelei sowas zusammenklicke und ichs dann auch nicht verstanden hab ... da kann ich genauso gut nach einer fertigen lösung fragen...

        aber ich wusste eig. schon vorm posten das solche antworten kommen
        the end comes faster than you think - you've already reached it!

        Kommentar


        • #5
          Warum versuchst du nicht einfach was zu probieren und poste anschliessend dein Patter, dann wird man drüber gucken und dir Tipps geben, denn nur so lernst du dann, richtig damit umzugehen. Zugegeben habe ich auch Schwierigkeit mit RegEx, die einfachen Dingen kann ich so gerade noch, aber wenn's kompliziert wird, dann sitze ich auch Stunden lang davor.

          Kommentar


          • #6
            aber ich wusste eig. schon vorm posten das solche antworten kommen
            Dann hast du also vorsätzlich ins falsche Forum gepostet?

            *move* nach Projekthilfe

            Kommentar


            • #7
              Original geschrieben von TobiaZ
              Dann hast du also vorsätzlich ins falsche Forum gepostet?

              *move* nach Projekthilfe
              nein das eigentlich nicht, war halt schon lang nichtmehr hier
              the end comes faster than you think - you've already reached it!

              Kommentar


              • #8
                http://www.php-faq.de/q-regexp-ersetzen.html
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Original geschrieben von jahlives
                  http://www.php-faq.de/q-regexp-ersetzen.html
                  danke, das funktioniert schonmal ansatzweise aber leider noch nicht ganz:

                  PHP-Code:
                  $text "[P]text text<br />text[\C]fett fett<br />fett[/C]text text[/P]<br />[P]text<br />text[/P]";
                  $s "<br \/>";
                  $r "XX";    

                  $text preg_replace("/((\[P\][^\[\/P\]]*)|$s)/e"'"\2"=="\1"? "\1":"$r"'$text);    
                  echo 
                  $text
                  so wird zwar ausserhalb von [P][/P] aber auch innerhalb von [C][/C] ersetzt (obwohl das [C][/C] innerhalb von [P][/P] ist. das erste XX ist also falsch aber das zweite XX ist richtig

                  PHP-Code:
                  [P]text text<br />text[C]fett fettXXfett[/C]text text[/P]XX[P]text<br />text[/P
                  the end comes faster than you think - you've already reached it!

                  Kommentar


                  • #10
                    Modifier: U

                    Kommentar


                    • #11
                      Original geschrieben von TobiaZ
                      Modifier: U
                      damit ersetzt er mir aber komischerweise alles also alle <br /> werden zu XX ... ohne stimmts ja zumindestens halbwegs ....

                      hab grad gesehen das das forum einen teil vom regex frisst:

                      PHP-Code:
                      $text preg_replace("/((\\[P\\][^\\[\\/P\\]]*)|$s)/Ue"'"\\2"=="\\1"? "\\1":"$r"'$text); 
                      the end comes faster than you think - you've already reached it!

                      Kommentar


                      • #12
                        kann mir denn keiner helfen?
                        the end comes faster than you think - you've already reached it!

                        Kommentar

                        Lädt...
                        X