За последние 24 часа нас посетили 49996 программистов и 1758 роботов. Сейчас ищут 992 программиста ...

Вопрос по JavaScript и explode() в случае переноса строки

Тема в разделе "PHP для новичков", создана пользователем Neka, 6 апр 2010.

  1. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Приветствую всех!
    Вкратце - ваяю скрипт с редактором на подобии WYSIWYG (textarea и связанные js кнопочки добавления тегов в текст [замена выделенного в тексте, а не prompt'ом]). Вот проблемы:

    1. JavaScript:
    В нем ужасно не силен =( поэтому слизал функцию подмены с какого-то форума и чуток доработал (насколько позволили знания)
    Функция:
    [js]
    function addtagstext(formname,textarea_name,tag) {
    eval(formname+"."+textarea_name+".focus();");
    var rng=document.selection.createRange();
    if(rng.text!="") {
    switch(tag) {
    case 'alignRight': starttag='<div style="text-align: right;">'; endtag='</div>'; break;
    case 'alignCenter': starttag='<div style="text-align: center;">'; endtag='</div>'; break;
    }
    my_text=rng.text = starttag+rng.text+endtag;
    }
    [/js]
    TextArea:
    HTML:
    1.  
    2. <textarea name="n[1]" cols=38 rows=6></textarea>
    3.  
    Кнопочка:
    HTML:
    1.  
    2. <a href="javascript: addtagstext('news','n[1]','alignRight');"><img src="http://proilim.ru/e_handlers/tiny_mce/themes/advanced/images/justifyright.gif"></a>
    3.  
    Не работает... я так понимаю переменная my_text должна куда-то возвращаться, или что то с ней должно делаться, чего в коде ф-ии нет, пересмотрел исходники ф-ии на форуме-родителе, точно с ней ничего не делается.

    2. PHP:
    В ТекстАрене передается текст с переносами строки. Мне нужны отдельно: строка до первого переноса, строка до 2-го переноса и остальные, т.е. нужно explode() по концу строки. Linux, Mac, Win - разные символы перевода строки (\n, \r, \r\n соответственно), как обьединить на случай разных осей, и будет ли вообще работать взрывчатка на спецсимолы?

    Про безопасность можно не беспокоиться (в разумных пределах), т.к. скрипт Admins Only (точнее Only I am =) ).

    Заранее благодарен за помощь!
     
  2. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    UPD: убираем n[1], делаем n1 (арен много, так было удобнее, ну да ладна), IE - работает, но светит ! об ошибках на странице, ОгнеЛис не работает....
    В чем соль?
     
  3. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Уф!!!
    Сделал и то, и то, и еще много чего! Славно поработал.

    Возникла маленькая деталька, отнюдь не смертельная, но до боли назойливая:
    При возврате фокуса (через ф-ю JS) textarene курсор возвращается в самому началу, даже если ты редактировал в самом конце. Кто-нибудь сталкивался?