First off www.php.net/preg_match
The first / is a defining start point for the regex and it needs a matching one at the end.
The stuff in the [] searches for an occurence of any of the chars inside.
The leading ^ negates the comparison
[a-zA-Z0-9\/_.-]
means all the chars a to z , A to Z 0 to 9 _ . - /
the / has to be escaped by the \ because it is the starting char.
So this preg_match basically checks a string to make sure it has no characters that should not be in a URL.
If it finds any char not in the [] it returns 1 ( a match )
Hope this helps.
Dont forget to read the manual as well 🙂
HalfaBee