Documente Academic
Documente Profesional
Documente Cultură
Cod:
<?php
$model = "[sml]at";
$subiect = "La noi in sat";
$rezultat = ereg($model, $subiect);
if ($rezultat) {
echo 'Model inclus in subiect';
}
?>
- În acest script, variabila $rezultat primeşte valoarea TRUE, deoarece şirul 'subiect' conţine sub-şirul "sat", care
corespunde expresiei regulate.
Pentru verificare, instrucţiunea "if" verifică dacă "$resultat" este TRUE şi în caz afirmativ execută comanda dintre
acolade, "echo" care afişează 'Model inclus in subiect'.
- Pentru a verifica dacă un şir conţine numai litere şi numere, puteţi folosi direct funcţia ctype_alnum()
- Deoarece funcţiile "ereg" au fost deprecate începând cu versiunea PHP 5.3 şi anulate din PHP 6, este indicat să
nu le mai folosiţi, cunoaşterea lor e necesară dacă le întâlniţi în scripturi mai vechi. Acestea au fost înlocuite cu
funcţii "preg_" (Perl-Compatible). Mai multe detalii şi exemple despre aceste funcţii găsiţi în manualul Expresii
regulate (compatibile Perl)
Expresiile regulate compatibile Perl se adaugă între caractere "/". De exemplu şablonul ([a-z0-9]+) se foloseşte /
([a-z0-9]+)/.
Iată un exemplu cu preg_grep(), aceasta returnează un array compus din elementele unei matrice care conţin
şablonul, expresia regulată căutată. Acest exemplu va returna doar acele elementele dintr-o matrice care conţin în
ele sub-şirurile "casa" sau "masa".
2
Cod:
<?php
$matrice = array('123casa', 'abc masa', '12-xy', '$asa_0/', '123abc casa');
$filtru = preg_grep("/([cm]asa)/", $matrice);
Cod:
<?php
$sir = 'Sir& ce contine*a <caractere: speciale? /in co@nte>xt';
$sir = preg_replace("/([^ A-Za-z0-9_]+)/", "", $sir);
echo $sir;
?>
În acest exemplu avem un şir (stocat în variabila $sir) ce conţine diferite caractere mai puţin uzuale.
Funcţia "preg_replace", împreună cu expresia regulată "/(^ A-Za-z0-9_]+)/", păstrează în $sir numai literele,
cifrele, caracterul '_' şi spaţiu.
Instrucţiunea "echo" va afişa următorul rezultat:
Şir ce conţinea caractere speciale în context
Articol preluat de la www.marplo.net