Instrucțiunile privind scrierea motorului la site-ul

Deci, mai întâi trebuie să opredilit pereche de funcții pentru a citi date dintr-un fișier. Înainte de a vă oferi codul sursă, uita-te la instrumentele noastre existente (sau, mai degrabă, în PHP) pentru lucrul cu fișiere (și cei care nu stiu - imediat si afla).







Funcții pentru citirea fișierelor în PHP

În general, putem citi fișierul în mai multe moduri. Prima, și cea mai simplă - este de a utiliza funcția de fișier (). Ea a primit numele fișierului, revine imediat o serie de șiruri de fișierul în sine:


$ Strings = fișier ( "myfolder / myfile.txt");
$ First_string = $ siruri [0];
.

Fa-ti o bază de date self-made. Pentru ea, noi, în primul rând, veți avea nevoie de următoarele funcții: una pentru a citi conținutul paginii (de exemplu, articole de text) dintr-un fișier extern - descărcarea de date; Funcția este de a descărca șablonul dintr-un fișier - care este, de încărcare de proiectare (proiectare).

Funcția loadTemplate ($ cale)
/ * Funcție încarcă șablonul pe calea specificată,
și se întoarce ca un șir de caractere, de exemplu,
parceTemplate () funcția de prelucrare * /
$ Template = fopen ($ cale, "r") sau de imprimare ( "Nu am putut încărca fișierul șablon [" $ calea .. "]");

în cazul în care (șablon $)
fread întoarcere ($ șablon, Filesize ($ cale));
altfel
return false;

Funcția parceTemplate ($ șablon, $ params_value s)
/ * Functia Analizează sintaxa șablon specificat,
înlocuind numele parametrilor, angajați indici






masivi $ params_value s valorile lor * /
în timp ce (lista ($ param, valoarea $) = fiecare ($ params_value s))
$ Template = str_replace ( "¤¤", $ $ value șablon.);
>


Funcția readArticle ($ cale)
/ * Funcția citește fișierul specificat și se întoarce
ca pe o serie de părți din conținutul articolului,
Structura separată ¤¤ * /
$ Articolul = fopen ($ cale, "r") sau de imprimare ( "Nu am putut încărca fișierul articolului [" $ calea .. "]");

în cazul în care (articolul $)
$ Astring = fread ($ articol, Filesize ($ cale));
$ Rezultat = divizat ( "[¤] [([a-z _-] *) [>] [¤]", $ astring);
Rezultat $ [2] = eregi_replace ( "[,] * ([-]) [,] *", "-", $ rezultat [2]);
Rezultat $ [3] = eregi_replace ( "[,] * ([-]) [,] *", "-", $ rezultat [3]);
Rezultat $ [0] = basename (calea $);
$ a reveni rezultat;
>
altfel
return false;
>
>

Undeva aici, ar fi necesar pentru a lega de granit placa cu o inscripție „o expresie regulată de fani apreciative“, pentru că fără aceste lucruri la îndemână ar fi fost foarte dificil de a crea funcțiile de mai sus-menționat. Luați în considerare un pic mai în detaliu modul în care sunt aranjate aceste expresii.

Matematician Stiven Klin introdus pentru prima dată expresii regulate în 1956, ca rezultat al muncii sale cu seturi recursive în limbaj natural. Ele au fost create ca seturi de sintaxă folosite pentru a găsi modele de potrivire în siruri de caractere, care mai târziu au contribuit la transformarea în curs de dezvoltare la informații tehnologice, făcându-l ușor pentru a automatiza.

De atunci, expresii regulate au fost prin mai multe iteratii, iar standardul actual este menținut de ISO (Organizația Internațională de Standardizare) și definite grup deschis, un efort de colaborare a diverselor organizații non-profit tehnice (2).

Dificultatea de expresii regulate este că doriți să căutați, sau ceea ce ar trebui să corespundă. Fără acest concept, RE inutil. Fiecare expresie va conține o anumită comandă a ceea ce sa caute:

Potrivire de caractere în expresii regulate