2010-11-28 11 views
6

Ich habe begonnen, PHP zu lernen. So installiert WAMP-Server auf meinem Windows 7-Rechner. Ich bin die folgende PHP-Code versuchen:Funktion ereg() ist veraltet

<?php 
$phrase = "I love PHP"; 
if (ereg("PHP", $phrase)) { 
    echo "The expression matches"; 
} 
?> 

Wenn versucht, dies in meinem mozilla, bekam ich die Ausgabe:

Deprecated: Function ereg() is deprecated in C:\wamp\www\learnphp\common.php on line 3 
The expression matches 

Ich denke, der Code korrekt ist. Ich kann den Fehler nicht verstehen. Kann mir jemand erklären, was diese "Veraltet" hier bedeutet? und wie man diesen Fehler löst?

Meine PHP-Version ist 5.3.0. Kann es ein Versions-Problem sein?

EDIT: Ich googelte es und fand etwas über Include \ file.inc Datei im www Ordner. Ich habe kein Include-Verzeichnis in meinem www-Ordner.

Antwort

13

"Veraltet" bedeutet, dass PHP 5.3.0 diese Funktion nicht mehr unterstützt. Sie sollten ereg() als nicht mehr vorhanden behandeln.

Die Funktion existiert zwar weiterhin, aber nur zur Unterstützung vorhandener Anwendungen, in denen sie verwendet wurde. Verwenden Sie beim Schreiben von neuem Code niemals eine veraltete Funktion.

Betrachten Sie stattdessen die preg_match-Funktion.

+0

Danke für den Link. – narayanpatra

+0

in Ihrem Fall wäre der Code preg_match ("@ PHP @", $ Phrase) – fedmich

6

Veraltet bedeutet, dass diese Funktion in einer zukünftigen Version aus PHP entfernt wird. Sie sollten sich nicht mehr auf Ihren Code verlassen und stattdessen die vorgeschlagene Alternative verwenden.

Bei PHP ereg, heed the notice in the PHP Manual:

Ab PHP 5.3.0 ist die regex-Erweiterung für die Verlängerung PCRE veraltet. Durch Aufruf dieser Funktion wird eine E_DEPRECATED-Nachricht ausgegeben. Informationen zur Konvertierung in PCRE finden Sie unter list of differences.

Siehe auch die Beschreibung E_DEPRECATED im PHP Manual.
Für alle veralteten Funktionen in PHP5.3, siehe Deprecated features in PHP 5.3.x.
Weitere allgemeine Informationen finden Sie unter Wikipedia article on Deprecation in Software

+3

Dies bedeutet auch, dass das Tutorial, von dem Sie lernen, schrecklich veraltet ist und Sie sollten einen modernen finden. – Quentin

-2

Das bedeutet, dass die von Ihnen verwendete Funktion jetzt veraltet ist. Sie können diese Funktion nicht mehr verwenden. Ich habe den gleichen Fehler mit PHP 5.5.6 erhalten. Eine mögliche Lösung für Ihr Problem könnte ein Downgrade Ihrer PHP-Version sein, damit sie unterstützt wird.