$re = '/\'\'Long?(?:\'\')?\.(?:\'\')? .*?(?P<Degrees>\d+).*?d.+?(?P<Minutes>\d+)′.*?(?P<Seconds>\d+)″.*?(?:\'\')?lat(?:\'\')?\.(?:\'\')?.*?(?P<Degrees>\d+).*?d.+?(?P<Minutes>\d+)′.*?(?P<Seconds>\d+)″.*?/mJ';
$str = '\'\'These are the coordinates\'\' :
\'\'Long. 17d. 6′. 8″. lat. 47d. 28′. 8″
\'\'Lon. \'\'36d. 70′. 80″. \'\'lat. 45d. 20′. 5″
\'\'Long. 17d. 6′. 8″.
lat. 47d. 28′. 8″';
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