Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Scripts » Command Board / Forum » Function ereg() is deprecated    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
Gast


     Function ereg() is deprecated Zitat | Bearbeiten

Hey Leute,

Habe ebend das Board gedownloadet und hab es installiert.

Leider zeigt er mir immer einen Fehler an.

 PHP 
1:
2:
3:
4:

Warning:
Datei: funktion.inc.php (Zeile: 449)
Fehler: Function eregi() is deprecated


Hier ist die Zeile:
 PHP 
1:
2:

while(eregi("\[COLOR=(.*)\](.*)\[\/COLOR\]",$text))


Ähnliche Fehler zeigt er mir in anderen Seiten an.
Etwas stimmt damit nicht, nur was?


07.10.2009, 14:08  
B.C.
Mitglied
Sehr guter User


Dabei seit: 04.02.2009
Herkunft: Niedersachsen
Posts: 797
      Zitat | Bearbeiten

Hi,

ich vermute mal, dass du PHP 5.3 verwendest.
Zitat:
Function eregi() is deprecated

Das bedeuted nix anderes, als dass die Funktion eregi veraltet ist.
Benutze anstatt eregi einfach preg_match.
Vergesse aba hinter den letzten Delimeter das i nicht

PS: Das is ja voll schwul, dass diese Funktion einfach weg ist -.-

Gruß,
Basti




Post wurde schon 2x editiert, das letzte mal am 07.10.2009 um 15:06 von B.C.
07.10.2009, 15:04 Profil | PM | E-Mail  
Gast


      Zitat | Bearbeiten

Ich habe auchnoch eregi_replace gefunden.

Muss man das auch gegen preg_match ersetzen?

Außerdem: Was ist Delimeter? :E

Ich weiß es nicht


07.10.2009, 16:02  
B.C.
Mitglied
Sehr guter User


Dabei seit: 04.02.2009
Herkunft: Niedersachsen
Posts: 797
      Zitat | Bearbeiten

Hi,

eregi macht genau das gleiche, wie preg_match('/Suchwort/i', $variable);

Die Delimeter grenzen die Suche ab, also die / und / sind die Delimeter. Durch das i wird
Groß- und Kleinschreibung ignoriert.

und eregi_replace musst du durch preg_replace ersetzen...

Also alle eregis ersetzen und die Delimeter um die Suche machen und ein i ans Ende setzen.

Das:
while(eregi("\[COLOR=(.*)\](.*)\[\/COLOR\]",$text))
wird zu:
while(preg_match("/\[COLOR=(.*)\](.*)\[\/COLOR\]/i",$text))

Gruß,
Basti




Post wurde schon 5x editiert, das letzte mal am 07.10.2009 um 16:11 von B.C.
07.10.2009, 16:08 Profil | PM | E-Mail  
Gast


      Zitat | Bearbeiten

Es funktioniert. Keine Fehler mehr da.

Danke dir!


07.10.2009, 16:34  
speedy
Mitglied
Guter User


Dabei seit: 09.05.2005
Herkunft: Pfalz
Posts: 358
      Zitat | Bearbeiten

Hallo liebe Forumkollegen,

auch ich bekomme diese Fehlermeldung hier:

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:

Warning:
Datei: funktion.inc.php (Zeile: 866)
Fehler: Function eregi() is deprecated

Warning:
Datei: funktion.inc.php (Zeile: 890)
Fehler: Function eregi() is deprecated


Ich bin auch in der funktion.inc.php auf diese Zeilen hingegangen und habe das ereg gegen das preg_match ersetzt aber die Fehlermeldungen verschwinden bei mir nicht.

Hier der ausdruck von der funtkion.inc.php Datei der betroffenen Zeilen 866-876:

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:

 <td>\\1</td>
   </tr>

   </table> ";


   while(eregi("\[QUOTE\](.*)\[\/QUOTE\]",$text)) $text = preg_replace("/\[QUOTE\](.*?)\[\/QUOTE\]/si", $zitat, $text);



   return $text;


Und der Zeilen 890-897:

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:

     $height= 30 * 15 + 50;
      }

   $ausgabe = "
<table align=\"center\" style=\"width:98%; table-layout: fixed;\" cellpadding=\"0\" cellspacing=\"0\" >
<tr class=\"cb_kopf\">
<td><b>&nbsp;Code</b><font size=\"+1\">&nbsp;</font></td>
</tr>


Habe es folgendes schon vesucht die erg_place gegen preg_match zu ersetzten und erg gegen preg_match ersetzt. Aber auch hier verschwinden die Fehlermeldung nicht. Wenn ich ergi_place und pregi_match eintrage dann wird die Seite nur weiß agezeigt.
Mache ich was verkehrt bei meiner Ausfährung oder muss ich ganz was anderes ausführen?
Bei mir wurde das PHP von 5.2 auf 5.3 aktualisiert seid dem kommen diese Fehlermeldungen, wie kann ich diese Beheben?
Danke für eure Hilfe.


13.03.2010, 12:26 Profil | PM | E-Mail  
speedy
Mitglied
Guter User


Dabei seit: 09.05.2005
Herkunft: Pfalz
Posts: 358
      Zitat | Bearbeiten

Hallo ich bin am verzweifeln, in der funktion-inc.php Datei habe ich alle eregi gegen pregi_match ersetzt angefangen in der Zeile 27, 849 und 872.
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:

Zeile 27:
if(!pregi_match("^(Undefined index|Undefined offset)",$errstr))

Zeile 849:
while(pregi_match("\[COLOR=(.*)\](.*)\[\/COLOR\]",$text)) $text = preg_replace("/\[COLOR=(.*?)\](.*?)\[\/COLOR\]/si", "<font color=\"\\1\">\\2</font>", $text);

Zeile 872:
while(pregi_match("\[QUOTE\](.*)\[\/QUOTE\]",$text)) $text = preg_replace("/\[QUOTE\](.*?)\[\/QUOTE\]/si", $zitat, $text);

Auch den Befehl ereg in der Zeile 452 gegen preg_match, hier der geänderte Code:

 PHP 
1:
2:

 if(preg_match("\?",$url)) $anhang = "&";


Und in den Zeilen 617 und 637 den Befehl ereg_replace gegen preg_match ersetzt, auch hier der Quellcode:

 PHP 
1:
2:
3:
4:
5:
6:

Zeile 617:
$insert = preg_replace(",$","",$insert);

Zeile 637:
$def = preg_replace(",\n$","", $def);


Dann erscheint diese Fehlermeldung hier:

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:

Er findet die main.php datei nicht und wenn ich die pregi_match gegen preg_match ersetzte kommt diese Fehlermeldung hier:

Warning:
Datei: funktion.inc.php (Zeile: 849)
Fehler: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash

Warning:
Datei: funktion.inc.php (Zeile: 872)
Fehler: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash


Ich weiß nicht was ich falsch mache könnt ihr mir da weiterhelfen damit das Forum auch unter PHP 5.3 funktioniert?

Danke für eurere Hilfe.


14.03.2010, 11:59 Profil | PM | E-Mail  
B.C.
Mitglied
Sehr guter User


Dabei seit: 04.02.2009
Herkunft: Niedersachsen
Posts: 797
      Zitat | Bearbeiten

Moooin,

die Funktion pregi_match() haste dir selbst ausgedacht, die gibt es nicht. Ich hab doch in meinem
vorherigen Post genau beschrieben, wie es gemacht werden soll.

OHNE i
ereg("AUSDRUCK", $var);
wird zu
preg_match("/AUSDRUCK/", $var);

MIT i
eregi("AUSDRUCK", $var);
wird zu
preg_match("/AUSDRUCK/i", $var);

und ereg_replace wird zu preg_replace, hier gilt auch wieder das gleiche mit dem i.


14.03.2010, 12:28 Profil | PM | E-Mail  
speedy
Mitglied
Guter User


Dabei seit: 09.05.2005
Herkunft: Pfalz
Posts: 358
      Zitat | Bearbeiten

Zitat:
Orginal von B.C.
Moooin,

die Funktion pregi_match() haste dir selbst ausgedacht, die gibt es nicht. Ich hab doch in meinem
vorherigen Post genau beschrieben, wie es gemacht werden soll.

OHNE i
ereg("AUSDRUCK", $var);
wird zu
preg_match("/AUSDRUCK/", $var);

MIT i
eregi("AUSDRUCK", $var);
wird zu
preg_match("/AUSDRUCK/i", $var);

und ereg_replace wird zu preg_replace, hier gilt auch wieder das gleiche mit dem i.


Danke für diese Hilfe, habe mich nach ihrer Beschreibung daran gehalten und es ohne das i ausgeführt.
Die Zeilen 27, 849, 872 das ergi ersetzt gegen preg_match.
Die Zeile 452 das ereg gegen preg_match und in den Zeilen 617 und 637 das ereg_replace gegen preg_replace.
Habe es hochgeladen und diese Fehlermeldung jetzt bekommen:

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:

Warning:
Datei: funktion.inc.php (Zeile: 849)
Fehler: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash

Warning:
Datei: funktion.inc.php (Zeile: 872)
Fehler: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash


Was habe ich jetzt falsch gemacht um den Fehler wegzu bekommen?
Ich hänge mal die funktion.inc.php dran vielleicht sieht jemand das Problem was ich übersehen habe.
Danke für die Hilfe.

Dateianhang:
 Kopie von funktion.inc.zip  (8 KB, 433 mal herruntergeladen)

14.03.2010, 15:26 Profil | PM | E-Mail  
seraph
Mitglied
Gruenling


Dabei seit: 11.05.2011
Herkunft: Deutschland
Posts: 26
      Zitat | Bearbeiten

Bei uns, die gleiche meldungen :

 PHP 
1:
2:
3:
4:
5:
6:
7:
Warning:
Datei: funktion.inc.php (Zeile: 866)
Fehler: preg_match(): Delimiter must not be alphanumeric or backslash

Warning:
Datei: funktion.inc.php (Zeile: 890)
Fehler: preg_match(): Delimiter must not be alphanumeric or backslash


Also, der GLEICHE Fehler, die Gleiche Meldung, Die gleichen Anweisungen gefolgt, 4 Augen können sich nicht täuschen ?!

Also, bei http://de.php.net/preg_match

findet mann so einige angaben, denoch auch mit der Anweisung = strpos
erzielen wir noch Fehlermeldungen, schein so, als wenn hier irgendwo ein , - verkehrt ist ?!

Fehler bei strpos :

 PHP 
1:
2:
3:
4:
5:
6:
7:
Warning:
Datei: funktion.inc.php (Zeile: 866)
Fehler: strpos(): Empty delimiter

Warning:
Datei: funktion.inc.php (Zeile: 890)
Fehler: strpos(): Empty delimiter



KREATiV-SCHMiEDE
Postfach 1102
33182 Altenbeken


Post wurde schon 1x editiert, das letzte mal am 12.05.2011 um 19:55 von seraph
12.05.2011, 19:42 Profil | PM | E-Mail  
seraph
Mitglied
Gruenling


Dabei seit: 11.05.2011
Herkunft: Deutschland
Posts: 26
     G E L Ö S T ! ! ! Zitat | Bearbeiten

Hallo Leuts,
nun habe ich doch mal den PHP Code in der funktion.inc.php komplett durch ge-checkt, Fehler gefunden, tauscht einfach folgende Daten aus :

ab Zeile 866 ersetzen mit diesem Code:
 PHP 
1:
2:
3:
4:
5:
6:
while(strpos('\[COLOR=(.*)\](.*)\[\/COLOR\]','$text')) 
        $text = preg_replace_callback('/\[COLOR=(.*?)\](.*?)\[\/COLOR\]/si', create_function('$arg', 'return "<font color=\"".checkHtmlAttribute($arg[1])."\">".$arg[2]."</font>";'), $text);

    $text = preg_replace("/\[list\](.*?)\[\/list\]/si", "<ul>\\1</ul>", $text);

    $text = preg_replace("/\[\*\]/si", "<li>", $text);



ab Zeile 890 ersetzen mit diesem Code:
 PHP 
1:
2:
3:
4:
5:
6:
while(strpos('\[QUOTE\](.*)\[\/QUOTE\]','$text')) $text = preg_replace('/\[QUOTE\](.*?)\[\/QUOTE\]/si', $zitat, $text);



   return $text;
   } //BB_Codes Ende



Das wars, wir haben allerdings den code preg_match ersezt mit dem code strpos


Sollte funlktionieren, ansonsten einfach nochmal melden, die Meldung im ACP checke ich gerade in den einzelnen php Dateien !!





KREATiV-SCHMiEDE
Postfach 1102
33182 Altenbeken


Post wurde schon 1x editiert, das letzte mal am 12.05.2011 um 20:06 von seraph
12.05.2011, 20:04 Profil | PM | E-Mail  
acadele
Mitglied
Aktiver User


Dabei seit: 12.12.2011
Herkunft: m0m =]
Posts: 120
      Zitat | Bearbeiten

Zitat:
Orginal von B.C.
MIT i
eregi("AUSDRUCK", $var);
wird zu
preg_match("/AUSDRUCK/i", $var);

und ereg_replace wird zu preg_replace, hier gilt auch wieder das gleiche mit dem i.


Auch wenns ewig her ist .. mir is LW .. xD
Zeile 890 aber mit si am Schluss

sprich ..
 PHP 
1:
preg_match('/\[QUOTE\](.*)\[\/QUOTE\]/si',$text)



25.06.2012, 22:53 Profil | PM | E-Mail  
EinGaestebuch
Mitglied
Anfänger


Dabei seit: 10.09.2015
Herkunft: keine Angabe
Posts: 66
      Zitat | Bearbeiten

Bei mir kommt diese Meldung wie behebe ich das-

 PHP 
1:
2:
3:
4:
5:
6:
7:
Warning:
Datei: template.class.php (Zeile: 275)
Fehler: Function eregi() is deprecated

Warning:
Datei: template.class.php (Zeile: 298)
Fehler: preg_replace(): Delimiter must not be alphanumeric or backslash

In der Datei bei Zeile 275 steht:
 PHP 
1:
while(eregi("\{\*(.*)\*\}",$this->tplLoad)) $this->tplLoad = preg_replace_callback("/\{\*(.*?)\*\}/s", array(&$this,'kommentareErsetzen'), $this->tplLoad);

Bei Zeile 298
 PHP 
1:
$this->tplLoad = preg_replace("\{".$feld."\}",$werte,$this->tplLoad);





Post wurde schon 2x editiert, das letzte mal am 27.11.2015 um 22:18 von EinGaestebuch
27.11.2015, 22:08 Profil | PM | E-Mail  
EinGaestebuch
Mitglied
Anfänger


Dabei seit: 10.09.2015
Herkunft: keine Angabe
Posts: 66
      Zitat | Bearbeiten

##PUSH##


29.11.2015, 13:37 Profil | PM | E-Mail  
DingsDaBums
Mitglied
Exzellenter User


Dabei seit: 12.09.2010
Herkunft: keine Angabe
Posts: 2364
      Zitat | Bearbeiten

Zitat:
Orginal von EinGaestebuch
##PUSH##


In diesem Thread wurde bereits alles erklärt, was du wissen musst... Wenn dir das nicht weiterhilft oder du das Ganze einfach nicht selbst machen willst, sondern von jemand anderes machen lassen willst, kann ich dir nur raten: Anstelle hier so lange auf eine Antwort zu warten, die dir zu 90% eh nicht helfen wird, solltest du vielleicht lieber mal 2min googlen und eine aktuelle Forensoftware verwenden...


Schau mal bei meinem Projekt vorbei. Vielleicht ist das ja was für dich MyStartPanel - Deine persönliche Startseite mit deinen Favoriten
Auf der Suche nach einem guten Vokabeltrainer? Vokabeltrainer Cramfire - Schnell und effektiv Vokabeln lernen
29.11.2015, 13:40 Profil | PM | E-Mail  
Andavos
Administrator
Foren-Gott


Dabei seit: 30.11.2003
Herkunft:
Posts: 6185
      Zitat | Bearbeiten

Gebe dort DingsDaBums recht, phpBB ist eine recht bekannte Standard Software die sehr zu empfehlen ist.


www.php-einfach.de, PHP lernen leicht gemacht
www.webhosterwissen.de, Webhosting-Vergleich



29.11.2015, 21:08 Profil | PM | E-Mail  
EinGaestebuch
Mitglied
Anfänger


Dabei seit: 10.09.2015
Herkunft: keine Angabe
Posts: 66
      Zitat | Bearbeiten

Phpbb nutze ich zurzeit eh


02.12.2015, 21:28 Profil | PM | E-Mail  
SecureHero
Mitglied
Gruenling


Dabei seit: 04.06.2014
Herkunft: keine Angabe
Posts: 29
      Zitat | Bearbeiten

Zitat:
Orginal von EinGaestebuch
Phpbb nutze ich zurzeit eh

Wieso willst du dann das schon mehr als veraltete Command Board nutzen?


03.12.2015, 14:33 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Scripts » Command Board / Forum » Function ereg() is deprecated   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz