$re = '/(http|ftp|https)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?/';
$str = '#element{ color : #fff; }
#element2,
.element3 ,
.whatever{ background: red; }
.test, #test1
.test2, .test3,
#test111,
.element5555, #fooooooter, #salam, #test{ display: none; color: #000000 ; background-color: #fff }
#element8 tr .bacon{ font-size: 10000em;
background: linear-gradient(top, #000, #FFF);
box-shadow: 0 0 10px #fff inset ;
}';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php