Регистрация Правила Главная форума Поиск |
0
- 26.07.2012 - 12:59
|
Подозреваю, что у кого-то должны быть готовые примеры, обрабатывающие тексты, с последующим превращением текстовых адресов (как на форумах) в урлы. Какая-никакая обработка простого текста есть: "[[:alnum:]-]+://[^\[<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>" (сам писал) =) Но этого, как понимаете, мало. Надо бы еще и обработку вот такого: [url = httр://somesite.com/page.html]somesite.com[/url] или же превращение httр://somesite.com/page.html в [somesite.com] (ссылкой) Также интересно бы глянуть на код, где длинные урлы сокращаюццо, типа как на этом форуме. Может есть у кого готовые варианты таких превращений, чтобы заново лисапет не придумывать? | | |
1
- 26.07.2012 - 14:07
| Это штоле? http://framework.zend.com/wiki/displ...+-+Pieter+Kokx | | |
2
- 26.07.2012 - 14:44
|
Первое - http://forum.php.su/topic.php?forum=1&topic=2094 Второе - http://dayte2.com/bbcode-url | | |
3
- 26.07.2012 - 14:45
| непохоже на то | | |
4
- 26.07.2012 - 14:50
|
2-Kuba > кажись второе самое то | | |
5
- 26.07.2012 - 15:33
|
function parse_bb_code($text) ** $text = preg_replace('/\[(\/?)(b|i|u|s)\s*\]/', "<$1$2>", $text); $text = preg_replace('/\[code\]/', '<pre><code>', $text); $text = preg_replace('/\[\/code\]/', '</code></pre>', $text); $text = preg_replace('/\[(\/?)quote\]/', "<$1blockquote>", $text); $text = preg_replace('/\[(\/?)quote(\s*=\s*([\'"]?)([^\'"]+)\3\s*)?\]/', "<$1blockquote>Цитата $4:<br>", $text); $text = preg_replace('/\[url\](?:http:\/\/)?([a-z0-9-.]+\.\w{2,4**)\[\/url\]/', "<a href=\"http://$1\">$1</a>", $text); $text = preg_replace('/\[url\s?=\s?([\'"]?)(?:http:\/\/)?([a-z0-9-.]+\.\w{2,4**)\1\](.*?)\[\/url\]/', "<a href=\"http://$2\">$3</a>", $text); $text = preg_replace('/\[img\s*\]([^\]\[]+)\[\/img\]/', "<img src='$1'/>", $text); $text = preg_replace('/\[img\s*=\s*([\'"]?)([^\'"\]]+)\1\]/', "<img src='$2'/>", $text); return $text; ** не обрабатывает адреса, типа [ url=http://forums.kuban.ru/?parametr]форум[ /url] и [ url]http://forums.kuban.ru/?parametr[ /url] (без пробела в кв. скобках, конечно) | | |
6
- 26.07.2012 - 16:35
|
Извлечение текста между парными тегами $text = '<$>sample_text</$>'; $data = array(); preg_match('|<$>(.*)</$>|Uis', $text, $out); # $out[1] будет сожержать строку 'sample_text' | | |
7
- 26.07.2012 - 19:24
| ну это уж точно не то =) | | |
8
- 26.07.2012 - 23:11
|
Совсем учиться не хочешь. Это должно было натолкнуть на мысль, как сделать то.. А вообще проще всего ковырнуть любой движок бесплатного форума и достать то что нужно. Кстати, вот такое Цитата:
http://yandex.ru/yandsearch?text=%D0...id=48648&lr=35 function AddBB($var) ** $search = array( '/\[url\](.*?)\[\/url\]/is', '/\[url\=(.*?)\](.*?)\[\/url\]/is' ); $replace = array( '<a href="$1">$1</a>', '<a href="$1">$2</a>' ); $var = preg_replace ($search, $replace, $var); return $var; ** | | |
9
- 27.07.2012 - 12:52
| Да, робит, спасибо, но хотелось бы, чтоб оно еще и сокращало длинное, типо делало из гиперссылки токо [www.domen.com] и все. =) | | |
10
- 27.07.2012 - 21:14
| для преобразования bb кодов можно использовать библиотеку http://xbb.uz/docs/ . Разработчики утверждают что эта библиотека работает быстрее чем скрипты реализованные на регулярных выражениях. | | |
11
- 28.07.2012 - 13:48
|
Спасибо. Скачал, посмотрю на досуге. =) Правда там масса кода, надо будет запасацца литром коньяку. | |
![]() | Интернет-форум Краснодарского края и Краснодара |