niedziela, 11 marca 2012

Wyrażenia regularne #1

W kilku postach postaram się opisać najdokładniej i najzwięźlej jak tylko potrafię moc ukrytą w wyrażeniach regularnych.

Teoria
Na początek trochę teorii za Wikipedią:
Wyrażenia regularne (ang. regular expressions, w skrócie regex lub regexp) – wzorce, które opisują łańcuchy symboli. Teoria wyrażeń regularnych jest związana z teorią języków regularnych. Wyrażenia regularne mogą określać zbiór pasujących łańcuchów, mogą również wyszczególniać istotne części łańcucha.

Wyrażenia regularne to w informatyce teoretycznej ciągi znaków pozwalające opisywać języki regularne. W praktyce znalazły bardzo szerokie zastosowanie, pozwalają bowiem w łatwy sposób opisywać wzorce tekstu, natomiast istniejące algorytmy w efektywny sposób określają, czy podany ciąg znaków pasuje do wzorca lub wyszukują w tekście wystąpienia wzorca. Wyrażenia regularne w praktycznych zastosowaniach są zapisywane za pomocą bogatszej i łatwiejszej w użyciu składni niż ta stosowana w rozważaniach teoretycznych.
Gdzie można stosować takie wyrażenia?
http://xkcd.com/208/

Zaczynając od .htaccessa [o którym będzie w innym cyklu], poprzez wyszukiwanie ciągu znaków w skrypcie na przeszukiwaniu projektów kończąc. To oczywiście tylko trzy ogólne przykłady.


Praktyka
Ok, teorię mamy już za sobą, więc najwyższy czas przejść do praktyki. Dzisiaj omówię podstawowe elementy regexów.

sobota, 10 marca 2012

PHP 5.4 - krótsza deklaracja tablic

Kolejna szybka porada.

1 marca 2012 roku wyszła oficjalnie najnowsza wersja PHP oznaczona numerem 5.4. Wprowadza ona bardzo przydatną rzecz ułatwiającą programowanie, mianowicie skrócenie deklaracji tablic.

EOL - zakończenie linii

Będzie krótko, acz treściwie. 

Spora część programistów PHP* ma w zwyczaju łamać wiersze, kończyć linie przy pomocy "\n" bądź "\n\r". W skrócie oznacza to przejście do następnej linii oraz powrót karetki. Jednakże użycie pierwszego bądź drugiego sposobu powinno być dostosowane do systemu na którym pracujemy. Windows korzysta ze zwykłego "\n" natomiast UNIX'y z "\n\r". Dlatego w skryptach PHP najlepiej stosować...