$re = '/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}(\?s=|\/)[a-zA-Z0-9()-.?_=&;#\/]{1,256}/m';
$str = '\'http://www.stocktargetadvisor.com/toprating\'
\'https://dividendbot.com?s=BA\'
\'http://sunshineavenue.com/stock/SNPS/\'
\'https://dividendbot.com?s=PFE\',
\'http://sunshineavenue.com/stock/SNPS/ via @sunshineave\',
\'https://dividendbot.com?s=AAPL\', \'http://www.stocktargetadvisor.com/toprating\',
\'https://www.chartmill.com/analyze.php?utm_source=stocktwits&utm_medium=FA&utm_content=HEALTH&utm_campaign=social_tracking#/NKE?r=fa&key=8832fee1-d06b-46b5-827f-26246a5e29a8\'
\'https://www.seeitmarket.com/2-bullish-stocks-twitter-twtr-and-michael-kors-18140/,
\'https://www.chartmill.com/analyze.php?utm_source=stocktwits&utm_medium=FA&utm_content=HEALTH&utm_campaign=social_tracking#/FSLR?r=fa&key=b431cf47-ec7e-4226-b864-511b6081b3be\'
\'https://dividendbot.com?s=CVS\'';
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