var_dump(preg_match_all('/(job_show\.asp\?id=[0-9]*)">/s',':</font><a href="job_show.asp?id=42"',$match)); $hrefs = $match[1]; var_dump($hrefs);
Вывод:
int(0) array(0) { }
Он должен соответствовать "job_show.asp? Id = 42"
Поскольку у вашего шаблона "> в конце, а в конце искомой строки нет">.
Добавьте квантификатор вопросительного знака после> и посмотрите, начнет ли он собирать искомые данные.
/(job_show\.asp\?id=[0-9]*)">?/