zeichen aus zeichenkette entfernen

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

  • zeichen aus zeichenkette entfernen

    hi,
    wie kann man von einer zeichenkette mehere zeichen entfernen. also ich habe z.B.

    $der_code = '

    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body bgcolor="#FFFFFF" text="#000000">
    <table width="100%" border="1" cellspacing="0" cellpadding="0">
    <tr>
    <td>sfgsfgsfdg</td>
    </tr>
    </table>
    </body>
    </html>
    ';

    und möchte nun

    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body bgcolor="#FFFFFF" text="#000000">

    und

    </body>
    </html>

    entfernen. wie ginge das?

    ist es außerdem möglich den ersten teil zu entfernen auch wenn
    <title>Untitled Document</title> anderst ist. also z.B.
    <title>neuer titel</title> lautet? ...... im grunde müste man ja dann
    angeben: löschen von <html> bis <body bgcolor="#FFFFFF" text="#000000">

    danke schon einmal

  • #2
    hmm,

    viele Wege füren nach Rom,
    ich würde mir eine Liste der zu entfernenden Sachen machen und dann mit str_replace einfach alles mit einem Leerstring ersetzen.

    $text = str_replace($wegdamit,"",$text);

    Kommentar


    • #3
      Hi,
      Du kannst es auch so mal probieren:
      Damit würdest Du z.B. den Bereich zwischen den title-Tags löschen

      $text = preg_replace("!<title>.*?</title>!i","",$text);
      Manus manum lavat.

      Kommentar


      • #4
        ...und die TITLE-Tags noch mit dazu

        CAT Music Files

        Kommentar


        • #5
          Hi Sky,
          war halt ein kleiner Versuch, aber ich glaube er wollte auch alles entfernen.
          Und schon wieder: kleine Tricks und Dummheit
          Manus manum lavat.

          Kommentar


          • #6
            Wo wir gerad dabei sind

            Ich habe einen String von einer SChleife ausgegeben:
            z.B
            $bla = "affe, honk, grosser, penner,";

            Wie kann ich jetzt das letzte Komma entfernen?
            /me

            Kommentar


            • #7
              $bla = substr($bla,0,strlen($bla)-1);

              CAT Music Files

              Kommentar


              • #8
                Original geschrieben von Churchill27
                Hi,
                Du kannst es auch so mal probieren:
                Damit würdest Du z.B. den Bereich zwischen den title-Tags löschen

                $text = preg_replace("!<title>.*?</title>!i","",$text);
                Hi@all
                und warum geht das nicht :

                PHP-Code:
                 $neuinhalt preg_replace("!<!--start".$opener."-->.*?<!--".$opener."ende-->!i","",$oldinhalt); 
                wobei $opener eine Zahl ist, z.Bsp.: 12052006195416

                Fehler: unkown modifier '-' ...

                Das ganze ist dann ein Kommentar innerhalb einer HTML Seite.

                Danke@all

                Kommentar


                • #9
                  an cent
                  PHP-Code:
                  $pattern '/<body[^>]*>(.*)<\/body>/isU';
                  preg_match($pattern$seiteninhalt$array);
                  echo 
                  $array[1]; 
                  obwohl ich vor dem "/body" ein "\" gesetzt habe, wurde er leider nicht angezeigt also maskiere / bei body mit \
                  Zuletzt geändert von Slava; 30.04.2006, 00:51.
                  Slava
                  bituniverse.com

                  Kommentar


                  • #10
                    ???
                    versteh ich nicht ?

                    Ich möchte den inhalt zwischen zwei Kommentaren:
                    <!--comment1--> xxxxx <!--comment2-->
                    incl. der comment-tags löschen.

                    Kommentar


                    • #11
                      Original geschrieben von Prominenter
                      Hi@all
                      und warum geht das nicht :

                      PHP-Code:
                       $neuinhalt preg_replace("!<!--start".$opener."-->.*?<!--".$opener."ende-->!i","",$oldinhalt); 
                      versuch mal so
                      PHP-Code:
                      "/<!--start".$opener."-->.*<!--".$opener."ende-->/isU"
                      Zuletzt geändert von Slava; 30.04.2006, 01:10.
                      Slava
                      bituniverse.com

                      Kommentar


                      • #12
                        Hi@all

                        also irgendwie komme ich nicht weiter erbitte Hilfe.

                        PHP-Code:
                        $datei     'test.htm';
                        $oldinhalt file($datei) or die("Fehler beim Öffnen der Datei: ".$datei."!\n");
                        $zeilen    sizeof($oldinhalt);

                         for (
                        $i=0$i<$zeilen$i++)
                         {
                          
                        $_ $oldinhalt[$i];
                          
                        $text.= $_;
                         }

                         
                        $comment "/<!--start".$opener."-->.*<!--".$opener."ende-->/isU";
                         
                        $neuinhalt preg_replace($comment,"",$text);

                         
                        # Datei neu schreiben
                         
                        $open fopen($datei"w") or die("Fehler beim Öffnen der Datei: ".$datei."!\n");
                         
                        fputs($open$neuinhalt);
                         
                        fclose($open); 
                        $opener = '12345' - wird übergeben
                        die test.htm

                        PHP-Code:
                        <html>
                        <
                        head>
                               <
                        title>Title here!</title>
                        </
                        head>
                        <
                        body>
                        bla

                        <!--start12345-->
                        bla bla bla
                        <!--12345ende-->

                        bla
                        </body>
                        </
                        html
                        Nun möchte ich also mit obigen code den Bereich:

                        <!--comment1-->
                        bla bla bla
                        <!--comment2-->

                        entfernen .

                        Aber irgendwie funktioniert das nicht ?????
                        Danke für Eure Hilfe
                        Zuletzt geändert von Prominenter; 30.04.2006, 13:21.

                        Kommentar


                        • #13
                          der code "funktioniert" ... vorausgesetzt, $opener ist vorhanden.

                          aber vielleicht willst du uns genauer mitteilen, wie sich "funktioniert nicht" äussert
                          Kissolino.com

                          Kommentar


                          • #14
                            Na nun bin ich aber platt.

                            Nicht funktioniert heißt:
                            wenn ich mir die test.htm nach den Ausführen des Codes anschaue ist
                            <!--comment1-->
                            bla bla bla
                            <!--comment2-->
                            immer noch drin

                            eigenartig ???

                            Kommentar


                            • #15
                              Original geschrieben von Wurzel
                              der code "funktioniert" ... vorausgesetzt, $opener ist vorhanden.
                              ich sehe dich weder
                              - $opener mit einem wert belegen
                              noch
                              - ein hochzählen von $opener (der ja noch nicht mal belegt ist)

                              zudem sollte das preg_replace dann mit in der zählschleife stehen, sonst wird allenfalls nur ein kommentar gelöscht.
                              Kissolino.com

                              Kommentar

                              Lädt...
                              X