Скрипт wysiwyg редактора для сайта bbcode на javascript загрузка файлов и аплоад картинок
Чтоб можно было втыкнуть на сайт и использовать совместно с серверным языком (допустим php)
Да и чтобы с исходниками не приходилось парится, чтоб все понятно было
wysiwyg редактор я не стал писать, уж слишком муторно и с безопасностью проблемки могут быть
А мне ведь требуется и картинки загружать на сервер и файлы
Попробую для вас изобразить готовый пример, да чтоб понятный был
Я надеюсь вы оцените мои несколько бессонных ночей и поделитесь исходником на своих сайтах
Скачать скрипт исходник wysiwyg редактора
Так типа пощелкать можно в песочнице, но половина не работает, нужно заливать исходник на сайт
Работает во всех браузерах. даже в IE6
В исходниках все конкретно прокомментировал
Добавил кучу готовых кодов
там есть даже код который ббкод превратит в html
//вот вам написал функцию преобразования, чтоб не парились
function bbcode($str) {
$bbc = array(
'/\[hr\]/is' => '<hr />',
'/\[b\](.*?)\[\/b\]/is' => '<strong>$1</strong>',
'/\[i\](.*?)\[\/i\]/is' => '<em>$1</em>',
'/\[u\](.*?)\[\/u\]/is' => '<u>$1</u>',
'/\[t\](.*?)\[\/t\]/is' => '<del>$1</del>',
'/\[url\=(.*?)\](.*?)\[\/url\]/is' => '<a target="_blank" href="$1" rel="nofollow">$2</a>',
'/\[url\](.*?)\[\/url\]/is' => '<a target="_blank" href="$1" rel="nofollow">$1</a>',
'/\[list\=1\](.*?)\[\*\]/is' => '[list=1][*]',
'/\[list\](.*?)\[\*\]/is' => '[list][*]',
'/\[\*\](.*?)(\n|\r\n|\[?)(?=(\[\*\]|\[\/list\]?))/is' => '<li>$1</li>',
'/\[list\](.*?)\[\/list\]/is' => '<ul>$1</ul>',
'/\[list\=1\](.*?)\[\/list\]/is' => '<ol>$1</ol>',
'/\[left\](.*?)\[\/left\]/is' => '<p align="left">$1</p>',
'/\[center\](.*?)\[\/center\]/is' => '<p align="center">$1</p>',
'/\[right\](.*?)\[\/right\]/is' => '<p align="right">$1</p>',
'/\[img\=([^\]]*?)\]\[\/img\]/is' => '<img src="$1" />',
'/\[img\=(.*?)\](.*?)\[\/img\]/is' => '<img src="$1" alt="$2" />',
'/\[youtube\]http:\/\/www\.youtube\.com\/watch\?v\=/is' => '[youtube]http://www.youtube.com/embed/',
'/\[youtube\](.*?)\[\/youtube\]/is' => '<iframe width="640" height="480" src="$1" frameborder="0" allowfullscreen></iframe>',
'/\[file\=([^\]]*?)\]\[\/file\]/is' => '<a href="http://'.domain().'/download.php?file=$1" target="_blank" rel="nofollow">$1</a>',
'/\[file\=(.*?)\](.*?)\[\/file\]/is' => '<a href="http://'.domain().'/download.php?file=$1" target="_blank" rel="nofollow">$2</a>',
'/\[size\=(.*?)\](.*?)\[\/size\]/is' => '<span style="font-size:$1px;">$2</span>',
'/\[font\=(.*?)\](.*?)\[\/font\]/is' => '<span style="font-family:\'$1\';">$2</span>',
'/\[color\=(.*?)\](.*?)\[\/color\]/is' => '<span style="color:#$1;">$2</span>',
'/\[bcolor\=(.*?)\](.*?)\[\/bcolor\]/is' => '<span style="background-color:#$1;">$2</span>',
'/\[smiley\=(.*?)_(.*?)\]/is' => '<img src="http://'.domain().'/smiley/smiley$1/$2.gif" />',
'/\[quote\](.*?)\[\/quote\]/is' => '<blockquote>$1</blockquote>',
'/\[code\](.*?)\[\/code\]/is' => '<code style="white-space:pre;">$1</code>',
'/\[lfloat\](.*?)\[\/lfloat\]/is' => '<div style="float:left;">$1</div>',
'/\[rfloat\](.*?)\[\/rfloat\]/is' => '<div style="float:right;">$1</div>'
);
$str = preg_replace(array_keys($bbc), array_values($bbc), $str);
$str = $str.'<br style="clear:both;" />';
return $str;
}
В общем все готовенькое, осталось только подключить к сайту
Ну и кстати, вот как нужно загружать картинки или файлы на сайт
В базе данных должна быть таблица загрузок
Код пишите сами
При загрузке файла создаем пустую строку в базе и сохраняем id этой строки
Если загрука удачная обновляем в базе строку по id, ну а если ошибка загрузки стираем из базы строку id
Такой логики нужно придерживаться чтобы не было ошибок когда грузит слишком много народу
И кстати в одной папке не может быть больше 15000 файлов или папок
Это таково устройство линукса
Поэтому нужно создавать подпапки и каждую наполнять максимум по 15000 файлов
|
Большое спасибо, очень помогло...
отличная статья