Fuelen » 2009.07.28 07:39 |
Как сделать чтобы выделялись ссылки в сообщении и одновременно работал тег [ url = http... ]url'ka[ / url ]? Обязательное условие: если ссылка в html теге <a href="тут ссылка">название</a>, то её не выделять :) А то при использовании Geshi выходит вот такое. (Второй пост) |
Gemorroj » 2009.07.28 07:53 |
А как получаются эти свои <a href=" ? от них нельзя избавится и переложить заботу о ссылках на Geshi ? |
Fuelen » 2009.07.28 08:04 |
Получаются так...
function url_replace($m) { if(!isset($m[3])) { return '<a href="'.$m[1].'">'.$m[2].'</a>'; }else{ return '<a href="'.$m[3].'">'.$m[3].'</a>'; }} $msg=syntax_filter(htmlspecialchars(trim($msg))); $msg=preg_replace_callback('~\\[url=(http://.+?)\\](.+?)\\[/url\\]|(http://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&_=/%-:#]*)~', 'url_replace', $msg); syntax_filter() функция обработки кода через геши. Вот геши сделал ссылки на функции, а потом через регулярку ещё эти ссылки выделяются |
Gemorroj » 2009.07.28 08:20 |
эмммм... попробуй воспользоваться XBB. Документация |
Fuelen » 2009.07.28 08:54 |
Спасибо :) Тут ещё подумал, мож в классе геши просто изменить, чтобы генерировалася бб код, а не ссылка :) |