Помогите изменить регулярное выражение!
Есть задача вытащить со станицы все ссылки, которые ссылаются на определенный скрипт. Я нашел регулярное выражение, которые вытаскивает все ссылки вообще, но мне не нужны все. Вот выражение:
preg_match_all("/]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\s]*([^\"'>\s#]+)[^>]*>/", $html, $matches);
Выдает кучу ссылок примерно таких:
./ucp.php?mode=register&sid=c4288710dd71a3a8569c7133840e7875
./search.php?st=30&sk=t&sd=d&sr=topics&sid=c4288710dd71a3a8569c7133840e7875&search_id=active_topics&start=50
./viewtopic.php?f=3&t=5092&sid=c4288710dd71a3a8569c7133840e7875
./viewtopic.php?f=3&t=5092&sid=c4288710dd71a3a8569c7133840e7875
./viewtopic.php?f=3&t=5092&sid=c4288710dd71a3a8569c7133840e7875&start=80
./viewtopic.php?f=3&t=5092&sid=c4288710dd71a3a8569c7133840e7875&start=100
Вот мне нужны только те, которые ссылаются на скрипт viewtopic.php
И еще те, которые заканчиваются на search_id=active_topics&start=
То есть в итоге мне нужно что бы было 2 строки с preg_match_all и первая делает массив со всеми ссылками, которые идут на viewtopic.php, а вторая строка делает массив в котором ссылки заканчивающиеся на search_id=active_topics&start=.
Прошу очень помочь, если кто сведущь в регулярках. Никак они мне самому не даются. 