Регулярное выражение для выборки и замены текста с гиперссылкой
Есть в бд вот такие данные
<nobr><a href=https://www.site.ru/talk/post9070.html target=_blank>www.site.ru/talk/post9070.html</a></nobr> <nobr><a href=https://www.site.ru/talk/post9689.html target=_blank>www.site.ru/talk/post9689.html</a></nobr><br />
<p><nobr><a href=https://www.site.ru/talk/post9071.htl target=_blank>www.site.ru/talk/post9071.html</a></nobr> asdfasdf</p>
<a href=https://www.site.ru/talk/post97.html target=_blank>www.site.ru/talk/post97.html</a>
<nobr><a href=https://www.site.ru/talk/post11269 target=_blank>www.site.ru/talk/post11269</a></nobr><br />
<p><nobr><a href=https://www.site.ru/talk/post9071.html#4567 target=_blank>www.site.ru/talk/post9071.html#4567</a></nobr> asdf</p>
<nobr><a href=https://www.site.ru/talk/comments2016p1.html target=_blank>www.site.ru/talk/comments2016p1.html</a></nobr>
<nobr><a href="https://www.site.ru/talk/post46362.html#5571343" target=_blank>site.ru/talk/post46362.html#5571343</a></nobr>
Нужна выборка для замены целых блоков
<a href=https://www.site.ru/talk/post97.html target=_blank>www.site.ru/talk/post97.html</a>
-- [post97]
<a href=https://www.site.ru/talk/post97.html#1234 target=_blank>www.site.ru/talk/post97.html#1234</a>
-- [post97#1234]
<nobr><a href=https://www.site.ru/talk/comments2016p1.html target=_blank>www.site.ru/talk/comments2016p1.html</a></nobr>
--[comment2016p1]
<nobr><a href=https://www.site.ru/talk/comments2016p1.html#123 target=_blank>www.site.ru/talk/comments2016p1#123.html</a></nobr>
--[comment2016p1#123]
Вот регулярное выражение
<nobr><a href="?https:\/\/www\.site\.ru\/talk\/post([0-9]+)[\.html|gif]{0,5}(#[0-9]{1,})?"? target=_blank>(www\.)?site\.ru\/talk\/post[0-9]+[\.html]*#?[0-9]*<\/a><\/nobr>
хочу заменить с помощью preg_replace , для этого в качестве $1 id поста или коммента, в качестве $2 (post или comment) а в качестве $3 - все что после решетки
Вопросы
- как сделать так что бы не были учтены в выборке , например я могу сделать вот так ()? , но в таком случае это будет первый параметр для замены, что мне не нужно Могу сделать вот так []* но в таком случае сработает любая последовательность этих символов.
- тоже самое с .html оно может быть а может и не быть, но не нужно что бы оно учувствовало в выборке в качестве параметра.
Спасибо