Ergebnis 1 bis 7 von 7

Thema: eregi_replace ; Macht was es will

  1. #1

    eregi_replace ; Macht was es will

    Hallo ,

    also der befehlt eregi_replace macht mit mir was ich will ich habe eine Variable nenen wir sie test so die siht etwa so aus



    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    
    <html>
    <head>
    	<title><!--Sitename-Begin--><!--Sitename-End--></title>
    	
    	<link rel="stylesheet" href="./style/Sekar/css/default.css" type="text/css">
    	
    </head>
    <body>
    
    	   <!--BSP-KAT-Begin-->
               <!--<span class="menukat" style="background-image: url(./style/Sekar/img/003.gif);">@</span>-->
    	   <!--BSP-KAT-End-->
    	   <!--BSP-LINK-Begin-->
               <!--<a href="<link>"  style="padding-left:5px ;padding-right:5px ;" title="§">@</a><br>-->
    	   <!--BSP-LINK-End-->
    	   <!--PotM-Begin-->
               <!--<span class="menukat" style="background-image: url(./style/Sekar/img/003.gif);">&nbsp;</span><PotM-Script><span class="menukat" style="background-image: url(./style/Sekar/img/004.gif);">&nbsp;</span>-->
    	   <!--PotM-End-->
    
    
    <div style="width:100% ; height:60px ; background-image: url(./style/Sekar/img/001.gif);" class="class1" >
    <br>
    <script type="text/javascript">
    <!--
    //Hier Bitte den Seiten Namen eintragen
    //#####################################
    var titel = "<!--Sitename-Begin--><!--Sitename-End-->";
    //#####################################
    for(i=0;i<titel.length;i++) {
     part = titel.substr(i,1);
     part = part.toLowerCase();
     if(part != ' ') document.write('<img src="./style/Sekar/img/buchstaben/'+part+'-head.png" alt="'+part+'" />&nbsp;');
     else document.write(' &nbsp; &nbsp; ');
    }
    -->
    </script>
    
    </div>
    
    <table border="0" width="100%" cellspacing="0" cellpadding="0" >
    <tr>
           <td class="menu" style="text-align:left; font-size:12px ;">
    	   <!--Menu-Left-Begin-->	
    
    	   <!--Menu-Left-End-->
    	   <br>
    	   </td>
    	   <td style="width:15px;" >&nbsp;</td>
           <td class="mitte" >
    	   <!--Contest-Begin-->	
    	   
    	   <!--Contest-End-->
    	   </td>
    	   <td style="width:15px;" >&nbsp;</td>
           <td class="menu" style="text-align:right; font-size:12px ;">
    	   <!--PotM-Begin-->	
    	   
    	   <!--PotM-End-->
    	   </td>
    </tr>
    </table>
    
    <div style="width:100% ; height:60px ; background-image: url(./style/Sekar/img/002.gif);" class="class1" >
    <span style="text-align:center; font-size:12px ;"><br>Made by Dadie<br>2005</span>
    </div>
    
    </body>
    </html>
    So nun mache ich folgendes

    PHP-Code:
    $PotM_temp eregi_replace ('(.*)<!--PotM-Begin-->'''$test); 

    echo 
    "$PotM_temp

    So nun müsse als ergebniss so aussehn :

    HTML-Code:
               <!--<span class="menukat" style="background-image: url(./style/Sekar/img/003.gif);">&nbsp;</span><PotM-Script><span class="menukat" style="background-image: url(./style/Sekar/img/004.gif);">&nbsp;</span>-->
    	   <!--PotM-End-->
    
    
    <div style="width:100% ; height:60px ; background-image: url(./style/Sekar/img/001.gif);" class="class1" >
    <br>
    <script type="text/javascript">
    <!--
    //Hier Bitte den Seiten Namen eintragen
    //#####################################
    var titel = "<!--Sitename-Begin--><!--Sitename-End-->";
    //#####################################
    for(i=0;i<titel.length;i++) {
     part = titel.substr(i,1);
     part = part.toLowerCase();
     if(part != ' ') document.write('<img src="./style/Sekar/img/buchstaben/'+part+'-head.png" alt="'+part+'" />&nbsp;');
     else document.write(' &nbsp; &nbsp; ');
    }
    -->
    </script>
    
    </div>
    
    <table border="0" width="100%" cellspacing="0" cellpadding="0" >
    <tr>
           <td class="menu" style="text-align:left; font-size:12px ;">
    	   <!--Menu-Left-Begin-->	
    
    	   <!--Menu-Left-End-->
    	   <br>
    	   </td>
    	   <td style="width:15px;" >&nbsp;</td>
           <td class="mitte" >
    	   <!--Contest-Begin-->	
    	   
    	   <!--Contest-End-->
    	   </td>
    	   <td style="width:15px;" >&nbsp;</td>
           <td class="menu" style="text-align:right; font-size:12px ;">
    	   <!--PotM-Begin-->	
    	   
    	   <!--PotM-End-->
    	   </td>
    </tr>
    </table>
    
    <div style="width:100% ; height:60px ; background-image: url(./style/Sekar/img/002.gif);" class="class1" >
    <span style="text-align:center; font-size:12px ;"><br>Made by Dadie<br>2005</span>
    </div>
    
    </body>
    </html>
    Es siht dann aber so aus :

    HTML-Code:
     	
    	   
    	   <!--PotM-End-->
    	   </td>
    </tr>
    </table>
    
    <div style="width:100% ; height:60px ; background-image: url(./style/Sekar/img/002.gif);" class="class1" >
    <span style="text-align:center; font-size:12px ;"><br>Made by Dadie<br>2005</span>
    </div>
    
    </body>
    </html>
    WTF ???? Ömmm. ich bin total verwirrt o_O

    Ich hoffe das kann mir mal einer Erklähren .

    MFg Dadie

    Geändert von dadie (02.03.2005 um 18:10 Uhr)

  2. #2
    Hm, versuch's notfalls mal mit

    PHP-Code:
    $PotM_temp eregi_replace ('(.*)<!--PotM-Begin-->(.*)''\\2'$test);
    echo (
    $PotM_temp); 
    und kontrollier, ob die $test auch das richtige enthält ...

    Obwohl, nein, ich seh's grad: Weiter unten ist noch so ein <!--PotM-Begin-->, das muss weg, sonst entfernt er alles, was vor dem steht

    Um das zu verhindern, entfern das zweite halt, oder schreib

    PHP-Code:
    $PotM_temp eregi_replace ('(.*)<!--PotM-Begin-->(.*)<!--PotM-Begin-->(.*)''\\2<!--PotM-Begin-->\\3'$text); 

    Geändert von Tomarus (02.03.2005 um 18:12 Uhr)

  3. #3
    Mit eregi_replace ('(.*)<!--PotM-Begin-->', '', $test) löschst du alles, was vor dem "<!--PotM-Begin-->" steht und das "<!--PotM-Begin-->" selbst. Deswegen muss das imo so aussehen, wie das "falsche" Ergebniss (denn das "<!--PotM-Begin-->" steht ganz unten) . Mir ist nicht so ganz klar, was du damit eigentlich bezwecken willst

    Edit: Zu spät...

  4. #4
    Zitat Zitat von Manni_the_Dark
    Mit eregi_replace ('(.*)<!--PotM-Begin-->', '', $test) löschst du alles, was vor dem "<!--PotM-Begin-->" steht und das "<!--PotM-Begin-->" selbst. Deswegen muss das imo so aussehen, wie das "falsche" Ergebniss (denn das "<!--PotM-Begin-->" steht ganz unten) . Mir ist nicht so ganz klar, was du damit eigentlich bezwecken willst

    Edit: Zu spät...
    Ja aber es schneided noch mehr weg als nur das und genau das ist gerade das Problem
    es schneided nämlich auch vieles weg was nach "<!--PotM-Begin-->" ist.

  5. #5
    PHP-Code:
    $PotM_temp preg_replace ('/(.*)<!--PotM-Begin-->/Ui'''$test); 
    Perl-Regexps kann man auf ungreedy schalten, dann matchen sie so wenig wie möglich.

  6. #6
    Pög Sorry habe den fehloer gefunden habe 2 mal die Gleiche Kommentar Klasse werwended ^^°

  7. #7
    Zitat Zitat von dadie
    Pög Sorry habe den fehloer gefunden habe 2 mal die Gleiche Kommentar Klasse werwended ^^°
    Zitat Zitat von Tomarus
    Obwohl, nein, ich seh's grad: Weiter unten ist noch so ein <!--PotM-Begin-->, das muss weg, sonst entfernt er alles, was vor dem steht
    Öhm joar, kommt mir bekannt vor ...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •