Главная » Файлы » Скрипты для uCoz » Другие скрипты

Исправление глючного редактирования материалов, если они были добавлены в режиме html + bb коды by Apocalypse для uCoz
24.06.14, 10:17:08



Есть в модулях uCoz такая убогая оплошность, если человек добавляет материал в режиме html + bb коды. Все ВВ коды преобразуются в html, все переносы в тег br, все скобки и спецсимволы в ASCII аналоги. В результате вы практически не в состоянии отредактировать материал, если использовали в нём много вв кодов. Получается белиберда типа:



Я написал в предложения системы uCoz, чтобы они предприняли меры, а сам пока что написал простенький костыль, который решает проблему и приводит редактирование к вот такому замечательному виду:



В итоге мы получаем отличный, практически идеентичный исходному варианту, код, который редактировать одно удовольствие

Установка:

На странице добавления/редактирования материала в нужных модулях в самый низ после /body вставляйте:
Код
<script>  
  // Исправление глючного редактирования материалов by Apocalypse  
  $('* textarea').each(function() {  
  $(this).val($(this).val()  
  .replace(/\<\!\-\-uzcode\-\-\>\<div class\=\"bbCodeBlock\"\>\<div class\=\"bbCodeName\" style\=\"padding\-left\:5px\;font\-weight\:bold\;font\-size\:7pt\"\>Code\<\/div\>\<div class\=\"codeMessage\" style=\"border\:1px inset\;max\-height\:200px\;overflow\:auto\;height\:expression\(this\.scrollHeight\<5\?this\.style\.height\:scrollHeight\>200\?\'200px\'\:\'\'\+\(this\.scrollHeight\+5\)\+\'px\'\)\;\"\>\<\!\-\-uzc\-\-\>/gi, '[code]')  
  .replace(/\<\!\-\-\/uzc\-\-\>\<\/div\>\<\/div\>\<\!\-\-\/uzcode\-\-\>/gi, '[/code]')  
  .replace(/\<\!\-\-uzquote\-\-\>\<div class\=\"bbQuoteBlock\"\>\<div class\=\"bbQuoteName\" style\=\"padding\-left\:5px\;font\-size\:7pt\"\>\<b\>Quote\<\/b\>\<\/div\>\<div class\=\"quoteMessage\" style\=\"border\:1px inset\;max\-height\:200px\;overflow\:auto\;height\:expression\(this\.scrollHeight\<5\?this\.style\.height\:scrollHeight\>200\?\'200px\'\:\'\'\+\(this\.scrollHeight\+5\)\+\'px\'\)\;\"\>\<\!\-\-uzq\-\-\>/gi, '[quote]')  
  .replace(/\<\!\-\-\/uzq\-\-\>\<\/div\>\<\/div\>\<\!\-\-\/uzquote\-\-\>/gi, '[/quote]')  
  .replace(/\<div align\=\"center\"\>(.+?)\<\/div>/gi, '[c]$1[/c]')  
  .replace(/\<div align\=\"left\"\>(.+?)\<\/div>/gi, '[l]$1[/l]')  
  .replace(/\<div align\=\"right\"\>(.+?)\<\/div>/gi, '[r]$1[/r]')  
  .replace(/\<i\>(.+?)\<\/i>/gi, '[i]$1[/i]')  
  .replace(/\<u\>(.+?)\<\/u>/gi, '[u]$1[/u]')  
  .replace(/\<s\>(.+?)\<\/s>/gi, '[s]$1[/s]')  
  .replace(/\<b\>(.+?)\<\/b\>/gi, '[b]$1[/b]')  
  .replace(/\<ul\>/gi, '[list]')  
  .replace(/\<\/ul\>/gi, '[/list]')  
  .replace(/\<li\>(.+?)/gi, '[*]$1')  
  .replace(/\<img src\=\"(.+?)\" border\=\"0\" alt\=\"\"\/\>/gi, '[img]$1[/img]')  
  .replace(/\<a class\=\"link\" href\=\"(.+?)\" rel\=\"nofollow\" target\=\"\_blank\"\>(.+?)\<\/a\>/gi, '[url=$1]$2[/url]')  
  .replace(/\<span style\=\"color\:(.+?)\"\>(.+?)\<\/span\>/gi, '[color=$1]$2[/color]')  
  .replace(/\<span style\=\"font\-size\:(.+?)\;\"\>(.+?)\<\/span\>/gi, '[size=$1]$2[/size]')  
  .replace(/\<br \/\>/gi, '\n')
  .replace(/\&\#41\;/gi, ')')
  .replace(/\&\lt\;/gi, '<')
  .replace(/\&\#92\;/gi, '\\')
  .replace(/\&nbs\p\;/gi, '')  
  .replace(/\&\#58;/gi, ':')  
  );  
  });  
  // ApoTeam (c) 2012  
  </script>


Данный скрипт рассчитан на все модули без исключения. Я постарался охватить как можно больше вв кодов, чтобы скрипт работал максимально эффективно. При использовании такого способа replace в ваших скриптах, прошу вставлять копирайт ApoTeam© 2012

Материал разработан и подготовлен Apocalypse
Категория: Другие скрипты | Добавил: Apocalypse | Теги: материалов, редактирования, Исправление, были, Добавлены, режиме, если, глючного, Html, они
Просмотров: 653 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email: