<?php $str = <<< EOL <a href="details.php?id=111&hit=1">name 1</a> <a href="details.php?id=222&hit=1">name 2</a> <a href="details.php?id=333&hit=1">name 3</a> <a href="details.php?id=444&hit=1">name 4</a> EOL; $details = 'details.php?id=[id]&hit=1'; $details_r = str_replace(array ('?', '.', '[id]') , array ('\?', '\.', '(\d+)') , $details); preg_match_all ('/"' . $details_r . '">(.*?)</i', $str, $m); print_r ($m); ?>