Javascript.RU

Скрипт wysiwyg редактора для сайта bbcode на javascript загрузка файлов и аплоад картинок

И пришла мне мысль написать нормальный редактор чтото типа wysiwyg готового скрипта на все случаи жизни

скрипт wysiwyg редактора скачать

Чтоб можно было втыкнуть на сайт и использовать совместно с серверным языком (допустим 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 файлов

+2

Автор: Гость (не зарегистрирован), дата: 26 мая, 2013 - 14:20
#permalink

Большое спасибо, очень помогло...


Автор: Гость (не зарегистрирован), дата: 27 мая, 2013 - 17:58
#permalink

отличная статья


 
Поиск по сайту
Другие записи этого автора
gordon freeman
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Популярные таги
Последние темы на форуме
Forum