xml entfernen

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

  • xml entfernen

    Hi Leute

    Habe eine Suche, die eine Datenbank durchsucht, die unteranderem auch mit HTML und XML Elementen gefüllt ist.

    Mit folgendem:

    PHP-Code:
    $html strip_tags($html); 
    kann ich ja alle HTML-TAGS entfernen aber die xml-Elemente
    bleiben immer noch. Wie bekomme ich diese nun aus dem String???

    z.B.:
    PHP-Code:

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>
    Webbi
    >>>> Erst denken, dann suchen, dann fragen <<<<

  • #2
    Hi!
    Ich hab so was ähnliches mal mit WML gemacht und da blieb mir nichts anderes übrig, als die tags mit str_replace zu ersetzen oder auszuschneiden.

    Ich hab das so gelöst, daß ich den gesammten Quellcode mit explode(">",$code) in einen Array aufgesplittet hab und dann jede Zeile auf die entsprechenden tags geprüft hab.
    Wahrscheinlich gibt es aber noch ne besser Methode, da das eins meiner ersten scripte war

    cu tj99de
    Of all things I've lost
    I miss my mind the most

    Kommentar


    • #3
      Hi,

      Achtung, nicht erschrecken.

      Dieses Script liest Textdateien nach dem Schema

      Datum: 28.09.2020
      Bild: erotik.jpg
      Headline: cdbldfgldfg

      aus einem Verzeichnis aus und wandelt sie in XML um.

      Weiter unten findest Du dann genau das Gegenteil. XML wegmachen und nur den Inhalt zwischen den Tags in ein Array schreiben.

      Vielleicht hilft Dir das was ...

      PHP-Code:

      <?

      # READING THE DIRECTORY
      $dir="portal_genie/zone-erotik/subzone-fotoalbum/galleryartists";
      $handle=opendir($dir); //name of directory where the artists descritpions are

      while (false !== ($file = readdir($handle)) ) { //reading the files

          if ($file != "." && $file != "..") {  //excluding "." and ".." in the array
          $allfile[]=$file;
          } 
      }

      closedir($handle);


      /*TEST

      $testcounter=sizeof($allfile);

      for ($i=0; $i <= $testcounter-1; $i++) { 
      echo " ",$i,": ",$allfile[$i],"<br><br>";
      }
      */

      # READING THE FILES AND PARSING IN XML

      # file read

      //schleife fuer alle files beginnt

      $counter=sizeof($allfile);

      //echo"Counter: $counter<br><br>"; //TEST

      for ($d=0; $d <= $counter-1; $d++) { 

      // file einlesen und laenge bestimmen

      //echo"$dir"; //TEST

      $filepath=$dir."/".$allfile[$d];

      //echo"Filepfad: $filepath<br><br>"; //TEST

      $artistdcp=file($filepath); //nomenklatur:galleryartists/xxx.txt

      $laenge=sizeof($artistdcp);

      //echo"L&auml;nge: $laenge\n\n\n";        //TEST

      # xml parsing

      for($i=0; $i<= $laenge ; $i++) { 

      // echo"vor bedingung:$i<br><br>"; //TEST

      if ($artistdcp[$i] > "0") { //bedingung dass inhalt vorhanden ist

      // echo"nach bedingung:$i<br><br>"; //TEST

      $erstpos=strpos($artistdcp[$i],":")+1; //ermittelt den ersten ":"
      $rest=strlen($artistdcp[$i]);          //ermittelt die gesamte laenge
      $schnitt=$rest-$erstpos;                    //ermittelt die restlichen zeichen nach ":" 

      # xml build

      // setzt das xml zusammen

      $xmlvar=substr($artistdcp[$i],0,$erstpos-1); //ermittelt die xml nomenklatur z.b <Bildsuffix>
      $artist[$i]="<".$xmlvar.">".ltrim(chop(substr($artistdcp[$i],$erstpos,$schnitt)))."</".$xmlvar.">";  

      $xmltag[]=$xmlvar; # BAUT DIE XML TAGS DYNAMISCH IN EIN ARRAY 
      //echo"$xmltag[$i],$i<br>"; //TEST                                    

      }


      /*TEST XML Wiedergabe

      echo"<br><br><?xml version=\"1.0\" encoding=\"ISO-8859-1\">\n\n"; 
      echo"<geniecontent>\n\n"; 
      for($i=0; $i<= sizeof($artistdcp); $i++)

      echo"$artist[$i]\n";
      }
      echo"</geniecontent> ";
      */

      ####
      # XML READER und SPLITTER
      ####

      $content=implode("",$artist); //wirft das XML zusammen

      // echo"content: $content<br><br>"; //TEST

      for ($z=0; $z <= sizeof($artist); $z++){ //trennt solange, bis kein xml mehr da ist (hier 1 mal)

      for ($b=0; $b <= sizeof($xmltag)-1; $b++){ //generiert dynamisch die xml trennung in die variablenname.ausgabe variable
       
      $ausgabe=$xmltag[$b]."ausgabe"; //erzeugt die ausgabe variablen
      $xmlvar=$xmltag[$b];            // erzeugt die xml separierungs variablen
      $screen[]=$ausgabe;             //erleichtert die contentausgabe in HTML

      //echo"Ausgabe: ".$ausgabe."<br>"; //TEST
      //echo"$xmlvar: ".$xmlvar."<br>"; //TEST
       
      $$xmlvar = eregi("<$xmlvar>([^<]+)</$xmlvar>",$content,$$ausgabe); //zerlegt das xml in die ausgabe variablen
      }
      }

      //echo"Bild: $Bildsuffixausgabe[1]<br>"; //TEST
       

      ####
      # SPLITTER AUSGABE
      ####
      // echo"Screen: $screen[2]"; //TEST


      echo"

      <script language=\"JavaScript\">
              <!--
              function FotosUebergeben$d(){
              var artist$d=\"portal_genie/zone-erotik/subzone-fotoalbum/gallery.php?".$screen[0]."=".${$screen[0]}[1]."&".$screen[1]."=".${$screen[1]}[1]."&".$screen[2]."=".${$screen[2]}[1]."&counter=1\";
              /*alert (artist$d);*/
              var newwindow= window.open(artist$d,\"ErotikGallery\",\"width=450,height=560\");
              }
              //-->        
              </script>

      <table width=579 cellspacing=0 cellpadding=0 border=0 background=\"portal_genie/zone-erotik/subzone-fotoalbum/images/bg_box.jpg\">
          <tr>
              <td rowspan=3 bgcolor=#000000><img src=\"images/1pix.gif\" width=1></td>
              <td bgcolor=#000000><img src=\"images/1pix.gif\" width=1></td>
              <td rowspan=3 bgcolor=#000000><img src=\"images/1pix.gif\" width=1></td>
          </tr>
          <tr>
              <td>
              <!-- left border distancetable -->
              <table border=0 cellpadding=0 cellspacing=0 background=\"\">
              <tr>
              <!-- linker rand --><td><img src=\"images/1pix.gif\" width=5></td>
              <td>
              <!-- content start -->
              
                  <table background=\"\">
                      <tr>
                          <td><a href=\"javascript:void(0);\" onclick=\"javascript:FotosUebergeben$d();\"><img src=\"portal_genie/zone-erotik/subzone-fotoalbum/".${$screen[2]}[1]."/00".${$screen[0]}[1]."_th.jpg\" border=\"0\"></a></td>
                          <td>
                          
                          <p class=title><font color=#000000>".${$screen[3]}[1]."</font></p>
                          <!-- subheadline -->  
                          <p class=10bi align=center>".${$screen[4]}[1]."</p>
                          <!-- subheadline end -->
                          <i>".${$screen[6]}[1]."</i><br><br>
                          ".${$screen[7]}[1]."<br><br>
                          <i><b>Zur K&uuml;nstlerseite:</b></i> <a href=\"".${$screen[5]}[1]."\" target=\"_blank\"><i>".${$screen[4]}[1]."</i></a>
                          <br><br><a href=\"javascript:void(0);\" onclick=\"javascript:FotosUebergeben$d();\"><i>Bilder in der Gallerie:</i> ".${$screen[1]}[1]."</a>
                          
                          </td>
                      </tr>
                  </table>

              <!-- content end -->
              </td>
              <!-- rechter rand --><td><img src=\"images/1pix.gif\" width=5></td>
              </tr>
              </table>
              <!-- left border distancetable end-->
              </td>
          </tr>
          <tr>
              <td height=1 bgcolor=#000000><img src=\"images/1pix.gif\" width=1 height=1></td>
          </tr>
      </table>
      <br>
      ";

       

      }
      ?>

      Kommentar


      • #4
        Hier ist noch eines für statisches XML, also wenn die XML Tags sich nicht ändern ...

        PHP-Code:

        <?php
        $filename 
        "http://jack.ibv-electronic.de/home/praetorius/content/neuimkinoxl.xml";
        $contents implode ("",(@file($filename)));
        $regs "";
        $idexplode("</id>"$contents); 
        for(
        $i=0$i< (sizeof($id)-1) ; $i++){  
        $filmtitel eregi("<filmtitel>([^<]+)</filmtitel>",$id[$i],$filmtitelausgabe);
        $genre eregi("<genre>([^<]+)</genre>",$id[$i],$genreausgabe);
        $hauptdarsteller eregi("<hauptdarsteller>([^<]+)</hauptdarsteller>",$id[$i],$hauptdarstellerausgabe);
        $regie eregi("<regie>([^<]+)</regie>",$id[$i],$regieausgabe);
        $teaser eregi("<teaser>([^<]+)</teaser>",$id[$i],$teaserausgabe);
        $bewertung eregi("<bewertung>([^<]+)</bewertung>",$id[$i],$bewertungausgabe);
        $filmplakat eregi("<filmplakat>([^<]+)</filmplakat>",$id[$i],$filmplakatausgabe);
        $media_files eregi("<media_files>([^<]+)</media_files>",$id[$i],$media_filesausgabe);
        $fsk eregi("<fsk>([^<]+)</fsk>",$id[$i],$fskausgabe);
        //  wird ausgegeben



        if ($fskausgabe[1] == "ab 16 Jahre")
        {
        $fsk_color="#ff0000";

        elseif (
        $fskausgabe[1] == "ab 18 Jahre")
        {
        $fsk_color="#ff0000";

        else 
        {
        $fsk_color="#000000";
        }


        echo 
        "<table width=353 align=center cellspacing=0 cellpadding=0 border=0>
            <tr>
                <td rowspan=3 bgcolor=33ccff><img src=\"images/1pix.gif\" width=1></td>
                <td bgcolor=33ccff><img src=\"images/1pix.gif\" width=1></td>
                <td rowspan=3 bgcolor=33ccff><img src=\"images/1pix.gif\" width=1></td>
            </tr>
            <tr>
                <td>
                <!-- left border distancetable -->
                <table>
                <tr>
                <td><img src=\"images/1pix.gif\" width=5></td>
                <td>
                <!-- contentbox header-->
        <td><p class=title><font color=33ccff>"
        .$filmtitelausgabe[1]."</font></p>


                <!-- subheadline -->  
                <p class=10bi align=left>"
        .$hauptdarstellerausgabe[1].".<br>
        <b>Regie:"
        .$regieausgabe[1]."</b></p>
                <!-- subheadline end -->
                
        <table border=0>
        <tr>
            <td valign=top><img src=\"cinema_images/line.gif\" width=\"220\" height=\"1\" border=\"0\"><br><br>
            "
        .$teaserausgabe[1]."
            <br><br><b><font color=\"
        $fsk_color\">FSK: ".$fskausgabe[1]."</font></b><br><br></td>
            <td valign=top><a href=\"cinema_fullstory.php?counter=
        $i\"><img src=http://www.palmi.net/images/".$filmplakatausgabe[1]." width=100 border=0 alt=".$filmtitelausgabe[1]."></a><br><br><a href=\"cinema_fullstory.php?counter=$i\"><img src=\"cinema_images/entertainment_arrow.gif\" width=\"12\" height=\"11\" border=\"0\"></a> mehr ...</td>
        </tr>
        </table>

        <!-- <br><img src=\"images/1pix.gif\" height=8> -->
                <!-- contentbox footer-->
                </td>
                </tr>
                </table>
                <!-- left border distancetable end-->
                </td>
            </tr>
            <tr>
                <td height=25 bgcolor=33ccff class=wtitle>&nbsp;&nbsp;"
        .$genreausgabe[1]."</td>
            </tr>
        </table><br>"
        ;
        }
        ?>

        Kommentar

        Lädt...
        X