Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] innerhalb eines Quellcodes den <Table finden und...

Einklappen

Neue Werbung 2019

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

  • [Erledigt] innerhalb eines Quellcodes den <Table finden und...

    Hallo bin ein anfänger aber mutig genug mich an wordpress ranzumachen

    innerhalb eines Quellcodes den <Table finden und in einen ergebnisstring einlesen bis </table> kommt

    Der Quellcode liegt in einer wordpress Datenbank

    es gibt nur eine Tabelle innerhalb jeden artikels...

    diese möchte ich mit dem ergebnisstring in der Wordpress vorschau anzeigen..

    die vorhandenen vorschaumöglichkeiten finde ich recht einfach den so könnte man formatierten Html nutzen...

    suche nun schon seit 2 tagen und hofe hier hilfe zu bekommen..

    vorab schon mal danke


  • #2
    Hi

    schau dir mal [MAN]preg_match[/MAN] bzw [MAN]preg_match_all[/MAN] an.
    kleine hilfe:
    Code:
    "/^(<table>.*<\/table>)$/si"
    Regex tester ist auch ganz nützlich.

    lg

    Kommentar


    • #3
      Erst mal danke für die Tipps

      habe folgenden lösungsansatz

      <?php $string = the_content();
      $pattern = '/^.*(?<=<\/table>)/sU';
      preg_match_all($pattern, $string, $array);
      $1ergebnis =$array; ?>

      jedoch habe ich das problem das nur der zeile $string=the_content(); sofort der inhalt ausgegeben wird wie kann man das
      unterdrücken

      nehme ich alle zeilen kommt :
      syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in

      Kommentar


      • #4
        syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in
        habe gelernt variable beginnen nicht mit einer zahl

        bleibt das problem das the_condent() ausgegeben wird habe auch $string = the_content('','',FALSE); probiert geht auch nicht

        benötige immer noch hilfe

        Kommentar


        • #5
          so sieht es bis jetzt aus:

          $string = the_content();
          $pattern = '/^.*(?<=<\/table>)/sU';
          preg_match_all($pattern, $string, $array);
          $ergebnisa =$array;

          $string = $ergebnisa ;
          $pattern = '/^.*(?=<table)/sU';
          preg_match_all($pattern, $string, $array);
          $endergebnis=$ergebnisa-$array ;

          echo '<pre>', print_r($endergebnis, true), '</pre>';?>

          mit folgenden ergebnis:
          problem das the_condent() ausgegeben wird -> sollte aber nicht

          und fehlermeldungen:
          Warning: preg_match_all() expects parameter 2 to be string, array given in single.php on line 42

          Fatal error: Unsupported operand types in single.php on line 43

          to be continued

          Kommentar


          • #6
            Habe mal das array ausgedruckt

            <?php $string = the_content();
            $pattern = '/^.*(?<=<\/table>)/sU';
            preg_match_all($pattern, $string, $array);

            echo '<pre>', print_r($array, true), '</pre>';?>

            ergebnis leer leer leeer ich dreh durch

            also ganz von vorn wie übergebe ich den content an den string

            to be continued

            Kommentar


            • #7
              Nun sieht es so aus
              <?php
              $content = get_the_content();

              $string = $content;
              $pattern = '/^.*(?<=<\/table>)/sU';
              preg_match_all($pattern, $string, $array);
              $ergebnis=$array;

              echo '<pre>', print_r($ergebnis, true), '</pre>'; ?>

              soweit ohne fehlermeldung aber sobald ich einen weiteren filter ranhänge
              $string = $ergebnis;
              $pattern = '/^.*(?=<table)/sU';
              preg_match_all($pattern, $string, $array);
              $ende=$array;

              echo '<pre>', print_r($ende, true), '</pre>';

              kommt es zu fehlermeldung:
              Warning: preg_match_all() expects parameter 2 to be string, array given in single.php on line 42

              danke im vorraus für hilfe

              to be continued

              Kommentar


              • #8
                Für alle die es gebrauchen können
                <?php

                $content = get_the_content(); // Value wird ausgelesen ohne anzuzeigen


                $string = $content; // übergabe an string
                $pattern = '/(?=<table).*(?<=<\/table>)/s'; // Suchbereich mit hilfe von REGEX TESTER - Regular Expressions - Regulärer Ausdrücke online testen
                preg_match_all($pattern, $string, $array); // genutztes php befehl
                $ergebnis=$array; // Übergabe zum ausdruck

                echo '<pre>', print_r($ergebnis, true), '</pre>'; // Tabellen ausdruck formatiert

                ?>

                Jetzt muss ich nur noch Array
                (
                [0] => Array
                (
                [0] => und nach der tabelle )

                )
                los werden ...
                Teillösung mit einen schubs von blackspirit selbst erarbeitet das ist mehr wert als nur abschreiben

                to be continued

                Kommentar


                • #9
                  <?php
                  $content = get_the_content();
                  $string = $content;
                  $pattern = '/(?=<table).*(?<=<\/table>)/s';
                  preg_match_all($pattern, $string, $array);
                  $ohne = $array[0] ;
                  $bohne=implode($ohne) ;
                  echo print_r($bohne, true); ?>

                  Kommentar


                  • #10
                    Omg schonmal was von der Edit-Funktion und BB-Code gehört?

                    Du willst den Inhalt einer Tabele auslesen?

                    Das wird mit dem von mir geposteten pattern funktionieren.

                    Code:
                    "/^<table>(.*)<\/table>$/s"
                    EDIT: anscheinend hast es eh schon gelöst.

                    Kommentar

                    Lädt...
                    X