Рабочий вариант:
<?php$page_href = 'bfilter[brand][0]=28&bfilter[brand][1]=13&bfilter[brand][2]=24&pf[335][0]=17&p=2';$page_href = preg_replace('/(\[\w+\])\[\d+\]/', '$1[]', $page_href);echo $page_href;
- в $page.href нехорошая точка;
- путаница с простыми и фигурными скобками;
- пропущена точка с запятой;
- лишний вопросительный знак;
- не учтены первые квадратные скобки;
- не учтено, что в первых квадратных скобках могут быть буквы и цифры.
Короче, работает вот это:
RewriteCond %{QUERY_STRING} ^Itemid=0.*$ [NC]RewriteRule ^(.*)$ /test.html? [R=301,L]
А не проще ли сразу прописать в Джумле правильные ссылки, а не грузить апач кучей лишних редиректов? Зачем формировать Itemid=0?
То есть,что значит "вида"? Если всё, что с Itemid=0, то
RewriteCond %{QUERY_STRING} ^Itemid=0.*$RewriteRule ^(.*)$ test.html [R=301,L]
Вы безусловно правы, но ТС ни слова не написал про RSS. Как бы предполагается парсить сайт "как есть", не выдающий свою новостную ленту.
Лучше массив или объект в JSON. Или сериализовать.
Ручками:). Просто сесть и переписать код заново. На примере не получится, так как логика меняется.
Я подозреваю, что неправильно организована логика работы системы, то есть по каждому поводу делается запрос к базе. Надо делать запрос один раз при заходе на сайт и больше к этому вопросу не возвращаться, пока клиент не уйдёт с сайта. И переходите на объектно-ориентированное программирование, это здорово облегчает жизнь.
Это что, количество посетителей сайта за сутки?
Может быть, вместо MD5 - разделить на число пи и взять, например, 20 знаков после запятой?