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

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


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
18 + 0 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Другие записи этого автора
gordon freeman
Реклама
Содержание

Учебник javascript

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

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

Интерфейсы

Все об AJAX

Оптимизация

Разное

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

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