Регулярное выражение и Визуальный редактор.

  • Автор темы Лейтенант Жопен
  • Дата начала

Лейтенант Жопен

Guest
Регулярное выражение и Визуальный редактор.

Здравствуйте, друзья.

Я делаю свой визуальный редактор, кто знает, через designMode='on', который есть у iframe'а в IE. Так вот. Столкнулся с проблемой, что, когда вставляю, например, ссылку вида:

<a href='?action=OpenPage&ID=1'>Link 1</a>
или
<a href='#newAnchor'>Link 2</a>

То долбанный IE превращает их в нечто:

<a href='http://127.0.0.7/adm/adm_script.php?action=OpenPage&ID=1'>Link 1</a>
и
<a href='http://127.0.0.7/adm/adm_script.php#newAnchor'>Link 2</a>

Читал вчера долго MSDN на тему MS HTML Editor, но ничего путного по своей проблеме не нашел. Решил посмотреть в сторону регулярных выражений. В регулярных выражениях я не очень. Умею только простой поиск сделать и простую замену.

Я не хочу ломать дров и изобретать велосипед. Господа, может кто уже сталкивался с этой проблемой? Может, кто знает как отключить эту ерунду?

Если все-же это нужно делать регулярными выражениями при сохранении страницы уже в PHP, то помогите, пожалуйста, составить такое выражение.

Заранее большое спасибо!
 

crocodile2u

http://vbolshov.org.ru
Написать свой WYSIWYG - это, конечно, хороший опыт. Но если опыт не является самоцелью, имхо, лучше взять готовый и совершенно бесплатный вариант, работающий не только под IE и имеющий кучу всяких прибамбасов...
 

Libov

Guest
Я уже его написал
Он работает у меня на форуме
Можете качать
http://modul.da-da.biz
Особености....
---------------------------
Редактор работает под IE
Под Mozilla идет только отладка, хотя он тоже работает....

---------------------------------
Пользуйтесь господа - разрешаю скачивать...
 

slach

Новичок
;)) Libov - ну во первых автоматически при execCommand create link ты не сможешь преобразовать его именно в тот вид который тебе нужен, кроме того под MIDAS не реализовано использование execCommand('createlink' ...) c параметром user_interface=true
так что придется тебе мил человек, вставлять ссылку через DOM ... руками... и при необходимости реализовывать собственный undo\redo ...
погляди в сторону http://tinymce.moxiecode.com и посмотри как там это реализовано...
 

Libov

Guest
То долбанный IE превращает их в нечто:
Работа под designModa="On" имеет некоторые особености...

1) Любые скрипты, не исполняются и выбрасываются из текста
2) Автоматическое дописывание префиксов http// mailto@, file:// даже в случаях их принудительного удаления...
3)Выполняет скролинг из любого места HTML-текста.

-----------------------------------------------
Мне просто не хватает фантазии, а то я его бы :)

-~{}~ 24.02.05 08:26:

slach
Возьми и сохрани скрипт. Понимаешь он встроен в основной и его надо от туда изъять....
А undo/redo работает. просто эти козлы их не упомянули...
execCommand('redo') - ее нет в списке, а на деле работает...
А потом господа мы просто помешались на суперредакторских функциях....Для Web-интерфейса функции долно быть минимальное. но необходимое количество
 
Сверху