Ankündigung

Einklappen
Keine Ankündigung bisher.

Preg_match Hilfe Formulare mit"<textarea>" f

Einklappen

Neue Werbung 2019

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

  • Preg_match Hilfe Formulare mit"<textarea>" f

    Guten Morgen,
    ich weiß nicht wie ich das hier auf die schnelle lösen soll-->

    Ich habe einen Html Text, indem sich mehrere '<form>...' Felder befinden.
    Wichtig ist für mich nur das Formfeld welches auch <Textarea> beinhaltet zu bekommen.
    Sehr einfache Veranschaulichung in der ihr auch virtuell-Online editieren könnt -bitte klicken und mir helfen -->
    http://www.cix88.de/cix_php/demo/cix...20050926100327

    PHP-Code:
    <?php
    echo"
    <html>
    ...
    ...
    <form>
    <select name='new_topic"'>
    <option value="">All Topics</option>
    <option  value="14">Ankündigungen zur Website</option>
    <option  value="15">Aus der Presse</option></form>

    <form action='
    modules.php' method='post'>
    <input type='
    text' name='query'></form>

    <form action='
    eintrag.php' method='post'>
    <input type='
    text' name='eintrag'>
    <textarea name='
    verein'>hier der text</textarea></form>
    ...
    ...
    </html>";
    ?>
    '~(<form[^>]*?>.*?textarea.*?</form>)~is'
    bekomme ich nicht anders zu erwarten alles vom ersten<form> bis zum letzten </form>

    ich weiß auch nicht recht wie ich ihm sagen kann, daß an einer bestimmten Stelle kein </form> vorkommen sein darf ungefähr so-->

    '~(<form[^>]*?>.*?[^</form>].*?textarea.*?</form>)~is'

    . ^ was allerdings nicht klappt da alles was in [] sich befindet er nur einzelnd jedes Zeichen ansieht und optional wählt.
    also, wiegesagt brauch ich als Ausgabe
    :
    Code:
    <form action='eintrag.php' method='post'>
    <input type='text' name='eintrag'>
    <textarea name='verein'>hier der text</textarea></form>
    wegen der textarea


  • #2
    Wichtig ist für mich nur das Formfeld welches auch <Textarea> beinhaltet zu bekommen.
    Hmm, dann sollte das doch gehen:
    '~<form[^>].*?</textarea>.*?</form>~is'

    Kommentar


    • #3
      leider nicht
      http://www.cix88.de/cix_php/demo/cix...20050926095839
      mit
      <form[^>].+?>.*?</textarea>.*?</form>

      sehr merkwürdig das er nur das ein Formfeld ausseracht lässt!
      ich muss das nochmal auf nem server probieren, wies eigentlich auch richtig ist


      wie sagt man ihm eigentlich das kein anderes </form> feld dazwichen liegen darf??
      dann würde es auch klappen

      ??
      Code:
      ^</form>
      ???

      Kommentar


      • #4
        sehr merkwürdig das er nur das ein Formfeld ausseracht lässt!
        Ähhh wieso, sollte das nie so sein ?
        .. oder hab ich dein Anliegen falsch verstanden ?

        Kommentar


        • #5
          nein nein,ich möchte wirklich nur
          am schluß

          PHP-Code:
          <?php
          <form action='eintrag.php' method='post'
          <
          input type='text' name='eintrag'
          <
          textarea name='verein'>hier der text</textarea></form>
          ?>
          übrig haben .
          lange rede kurzer Sinn

          Kommentar


          • #6
            action='eintrag.php'
            ^^^ ist das eigentlich vorher bekannt ?

            Weis ja nicht was du genau machen willst, aber vieleicht gibt es eine andere Lösung.

            Kommentar


            • #7
              nein ,
              der Vorbefehl könnte ungefähr so aussehen

              PHP-Code:
              <?php
              if(eregi("<form",$string))
              {
              ...
              //und dann die suche noch den richtigen <Form> diesen mit <textarea> 
              }
              ?>
              Nette Seite von dir- Hab es jetzt erst gesehen das Sie von dir stammt

              Kommentar


              • #8
                Mal ein anderen Weg:

                PHP-Code:
                <?php
                error_reporting
                (E_ALL);

                $TXT = <<<EOD
                <html> 
                ... 
                ... 
                <form> 
                <select name='new_topic"'> 
                <option value="">All Topics</option> 
                <option value="14">Ankündigungen zur Website</option> 
                <option value="15">Aus der Presse</option></form> 

                <form action='modules.php' method='post'> 
                <input type='text' name='query'></form> 

                <form action='eintrag.php' method='post'> 
                <input type='text' name='eintrag'> 
                <textarea name='verein'>hier der text</textarea></form> 
                ... 
                ... 
                </html>
                EOD;

                // estmal alle FORMs suchen 
                $pattern '~(<form).*?(form>)~is';
                preg_match_all($pattern$TXT$array);
                // echo '<pre>', print_r($array, true), '</pre>';

                // nach textarea durchsuchen
                foreach( $array[0] as $temp) {
                if (
                preg_match('~textarea~i',$temp)) echo $temp;
                }

                ?>

                Kommentar


                • #9
                  Danke, für deine Mühe.

                  Kommentar


                  • #10
                    Jo gehts denn so ?

                    Kommentar


                    • #11
                      ich habe natürlich an ähnliches gedacht und auch entworfen.
                      PHP-Code:
                      <?php
                      $pattern
                      ="|(<form[^>]*?>.*?</form>)|is";
                          
                      $test=grabb_site($pattern,$db_link);
                          
                      $real=$test;
                          
                      #Ich brauche nur Das wo 'Textarea' drin ist
                          
                      $count=count($test);
                          for (
                      $i=0;$i $count;$i++ )
                          {
                              if (!
                      eregi("<textarea",$test[$i]))
                              {
                                  unset(
                      $test[$i]);
                              }
                          }
                          
                      sort($test);
                      ?>
                      nur dachte ich es geht auch leichter

                      Kommentar


                      • #12
                        nicht wie ich denke,
                        ich habe RegEx gefunden der bestimmte wörter umgehen kann
                        http://www.cix88.de/cix_php/demo/cix...20050927161800
                        ich weiß aber nicht wie ich das miteinanderer verbinden kann, da ich noch relativ etwas unwissend bin in RegEx

                        Kommentar

                        Lädt...
                        X