..
Vi havde allerede antydet i de seneste dage gennem siderne i vores blog, men i dag vil jeg gerne undersøge et emne, som jeg tror vil være af interesse for tusindvis af udviklere - ligesom mig - hver dag bruge PHP til at udvikle deres web-applikationer.
Fra og med version 5.3 af PHP, i virkeligheden, kan udviklere, der ønsker at udnytte potentialet i regulære udtryk ikke længere gøre brug af POSIX funktioner (så at sige ereg () og familie), men skal nødvendigvis bruge de funktioner PCRE (Perl Compatible Regular udtryk), for eksempel, preg_match () .
Den PCRE funktioner indbygget i PHP giver dig mulighed for at bruge den typiske regulære udtryk syntaks i Perl (mere præcist, den nuværende gennemførelse giver støtte til syntaksen i Perl 5,005), hvilket er lidt forskelligt fra POSIX funktioner. For mere information om syntaksen i PCRE er muligt at konsultere manualen til rådighed på den officielle hjemmeside PCRE.org.
Hvis du ønsker at foretage en sammenligning mellem en streng og et mønster (en model skrevet i form af regulære udtryk) bliver nødt til at bruge preg_match (), at det i virkeligheden erstatte ereg () og eregi ().
Brug preg_match () er til fælles brug, ganske enkel: du passerer den funktion, mønster og strengen for at kontrollere. Hvis mønsteret er opfyldt, funktionen returnerer 1 hvis 0 (eller FALSE hvis en fejl).
Faktisk migrere fra ereg () ikke er kompliceret ting. Du får brug for nogle lidt opfindsomhed i formuleringen af mønstret.
Her er et eksempel:
<? Php
if (preg_match ('/ mrwebmaster / i', 'Længe leve MrWebmaster!')) {
echo "fundet";
Else {}
echo "ikke fundet";
}
?>
Dette er den samme:
<? Php
if (eregi ('mrwebmaster', 'Længe leve MrWebmaster!')) {
echo "fundet";
Else {}
echo "ikke fundet";
}
?>
I vores simple eksempel på anvendelse af preg_match () brugte vi strengen som et mønster
/ Mrwebmaster / sLad os se syntaksen:
Som du kan se forskellen med ereg () er ikke en masse, lad os opsummere dem kort:
På grundlag af ovenstående (og forskelle, der er blevet nævnt), vi kan overveje igen (delvist) gyldige teoretiske forklaringer om syntaksen i regulære udtryk kan findes på denne side af artiklen "Regular Expressions i PHP" dedikeret til den gamle POSIX funktioner .
| |
Linux (Kursus)
Komplet guide til open source-system. Fra 49 €. |
| |
MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €. |
| |
PHP (Kursus)
Fuld kursus for at skabe dynamiske web-sites. Fra 49 €. |