Столкнулся с неубиваемостью дефисов в адресной строке Joomla 1.5.9 с родным SEFом. Если в самом контенте для создания красивых пользовательских URL-ов для этого есть Aliasы, то в сторонних компонентах Aliasы предусмотрены не везде и в адрес могут попасть некрасивые записи типа .../23----tratata.html Чтобы это исправить, надо подправить вывод и удалить лишние дефисы. Но оказывается, что это невозможно сделать. Никакие preg_replace и str_replace не работают. Всё остальное типа пробелов выражений и т.п. находится и удаляется нормально, а с дефисами беда какая-то. Кто знает, в чём дело?
скорее всего дефисы появляются вместо пробелов. нижнее подчеркивание вместо них не пробовал просто писать?
В статьях для избавления от дефисов, как я уже писал, существуют aliasы - что нужно, то и прописываешь. С этим проблем нет, причём вывод id в URL для Joomlы предусмотрен изначально. В принципе, не так уж и портит внешний вид. А в сторонних компонентах остаётся только хачить код. Универсальных решений нет. Мне таким образом приходилось избавляться от дефисов в докмане и QuickFAQ.