Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помощь с работой с текстом на javascript (https://javascript.ru/forum/misc/31123-pomoshh-s-rabotojj-s-tekstom-na-javascript.html)

Jamesdgreeze 27.08.2012 17:29

Помощь с работой с текстом на javascript
 
Здравтсвуйте!
Нужна помощь в реализации такой вещи:
есть текстовое поле (типа визивинг но упрощенный):
<div " id="add_input" contenteditable="true">Тут текст...</div>

суть такая:
если на каком либо сайте выделить текст то в буфер обмена скопируется не сам текст а всё чем он является т.е.
например в поисковой выдаче гугла мы выделим например слово Google которое является ссылкой то в буфер скопируется не само слово Google а
<h3 class="r" style="font-size: medium; font-weight: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: rgb(34, 34, 34); font-family: arial, sans-serif; "><a href="http://www.google.ru/" target="_blank" class="l" style="color: rgb(17, 34, 204); "><em style="font-weight: bold; font-style: normal; ">Google</em></a></h3>

если его через "Ctrl+V" или "вставить" засунуть в наше визивиг-поле, то оно всем ХТМЛ'ем туда и засунется.
Надо чтобы весь этот HTML отсекался, как если бы его вставляли в обыное textarea.
если использовать такой вариант: повесить на наше поле аттрибут oninput с функцией и в этой функции прописать, чтобы из поля забирался текст таким макаром:
var text = $('#add_input').text();
$('#add_input').html(text);

то как раз и получится, что весь мусор ненужный отсечется и удалиться
НО! тогда перестают работать переносы строк т.к. они в этом "типа визивиг" поле через <br> создаются
и другие html теги которые удалять не надо.
Вот и ломаю голову как можно очистить текст с буфера от мусорного HTML

nerv_ 27.08.2012 17:47

буфер обмена - IE или Flash

Deff 27.08.2012 20:14

<div id="post_message_200894">                                              Здравтсвуйте!<br>Нужна помощь в реализации такой вещи:<br>есть текстовое поле (типа визивинг но упрощенный):<br>class="syntaxhighlighter nogutter  "><br>то как раз и получится, что весь мусор ненужный отсечется и удалиться<br>
<b>НО!</b> тогда перестают работать переносы строк т.к. они в этом "типа визивиг" поле через &lt;br> создаются 
                                              <br>
и другие html теги которые удалять не надо.<br>
Вот и ломаю голову как можно очистить текст с буфера от мусорного HTML </div>
                                            <!-- / message -->
<script type="text/javascript">
var a = document.getElementById('post_message_200894')
var b = a.innerText||a.textContent;
alert(b)
</script>

Aetae 27.08.2012 21:31

Deff, undefined. Guess why.

bes 27.08.2012 21:52

he know textContent :)

Deff 28.08.2012 00:04

Цитата:

Сообщение от Aetae
Deff, undefined. Guess why.

:) Ню в Мозилке наверн костыль какой нужен - даж в ИЕ6 сработало, - вродь поправил

Aetae 28.08.2012 00:32

Цитата:

Сообщение от Deff (Сообщение 200999)
:) Ню в Мозилке наверн костыль какой нужен - даж в ИЕ6 сработало, - вродь поправил

textContent - официальное w3c свойство и работает везде кроме ie.
Используя в первую очередь innerText вы подставляете задницу ослу.

Deff 28.08.2012 00:35

Aetae,
Ну devote сказад же - чо я джукверист, - ява скрипт(вместе с JQ) пока хобби для меня

Aetae 28.08.2012 00:47

Сказал бы я, что думаю о джукверистах, да промолчу.)

Deff 28.08.2012 00:58

Aetae,
Да уж Валяйте, - ксать мну еще и толчки починяет, есть пословица така у сантехников - "..." А то так и будешь ключи подавать",


Часовой пояс GMT +3, время: 09:19.