Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Разбить текст на фразы и завернуть в тэги (https://javascript.ru/forum/dom-window/56133-razbit-tekst-na-frazy-i-zavernut-v-tehgi.html)

Exhaust_ 31.05.2015 21:25

Разбить текст на фразы и завернуть в тэги
 
Здравствуйте. Нужна помощь знатоков.
Есть html текст с форматированием и разделением на абзацы.
С ним нужно провернуть следующий фокус:
при загрузке страницы каждую группу слов разделенную абзацами и знаками препинания* завернуть в тэги <speakbit></speakbit> с сохранением прежнего форматирования текста, картинок и ссылок в нем.
* значит что нужно сгруппировать слова между знаками препинания, но сами знаки препинания также завернуть в тэги
На худой конец можно разделить на слова, а не на фразы.

Вот пример на котором это должно работать
<html>
<head> 
<meta charset="utf-8">
<script type="text/javascript"> 

???

</script>
</head>
<body>
<h1>Дэвид Вернон: «То, что мы называем искусственным интеллектом, им не является»</h1>
<p><em>Дэвид Вернон — признанный специалист в области создания и изучения искусственного интеллекта, приглашенный профессор <a href="http://university.innopolis.ru/">Университета Иннополис</a>. За последние 36 лет он работал в университетах Ирландии, Швеции, Германии, ОАЭ, а также в Европейском сообществе развития систем искусственного интеллекта. Мы побеседовали с Дэвидом о настоящем и будущем искусственного интеллекта.</em></p>
<p><strong>— Что ученые понимают под искусственным интеллектом?</strong></p>
<p>— У понятия «искусственный интеллект» много объяснений. Одно из старейших дано Алленом Ньюэллом и Гербертом Саймоном, двумя пионерами исследований в этой области, которые в 1975 году написали: «Задача интеллекта заключается в том, чтобы не допустить экспоненциального взрыва при поиске решения проблемы». Они имели в виду, что существует огромное количество в большинстве своем интересных проблем, которые заставляют нас изучить экспоненциально огромное количество их потенциальных решений, чтобы найти то, которое подойдет, в случае если применить к ним метод простого перебора. Лучшим способом избежать этого «взрыва» возможных вариантов решения является интеллектуальный выбор вашей стратегии поиска. С этой точки зрения искусственный интеллект — это наличие такой стратегии у машины, чаще всего у компьютера или у робота, который контролируется компьютером.</p>
</body>
</html>


PS: после этого и еще двух шагов получится букмарклет кроссбраузерная читалка текстов голосом Гугл-переводчика. результатом поделюсь со всеми

Decode 01.06.2015 01:47

Exhaust_, http://api.jquery.com/wrap/

kostyanet 01.06.2015 04:21

Цитата:

Сообщение от Exhaust_
Вот пример на котором это должно работать

Вот он

var foo = 5,
bar=function(baz){return baz+10};


Разница лишь в том, что подсвечиваются слова, а у вас - фразы. Подняв уровень абстракции назовем - токены. Для синтаксиса js токенов много, у вас - 2. Сделав токены по заданным правилам, например регой, натравливаете обычную подсветку.

kostyanet 01.06.2015 04:24

Цитата:

Сообщение от Exhaust_
получится букмарклет кроссбраузерная читалка текстов голосом Гугл

Для инвалидов стараетесь?

Sigizmund2012 01.06.2015 08:24

Цитата:

Сообщение от kostyanet (Сообщение 373356)
Для инвалидов стараетесь?

Очевидно же, что для них. А это что, плохо?

Sigizmund2012 01.06.2015 08:54

Цитата:

Сообщение от Decode (Сообщение 373351)

wrap() не подходит, селектором jQuery фразу не выделить, тут нужна могучая регулярка, которая бы брала по 3-4 слова и останавливалась на знаках препинания. У меня знаний для построения такого регекспа не хватает, будем ждать пока сюда какой-нибудь гуру не ворвётся.

kostyanet 01.06.2015 08:58

Цитата:

Сообщение от Sigizmund2012
Очевидно же, что для них. А это что, плохо?

Плохо делать из людей инвалидов чтоб затем стараться для инвалидов.

kostyanet 01.06.2015 09:04

Цитата:

Сообщение от Sigizmund2012
тут нужна могучая регулярка

Ну я это ляпнул из-за php. В js ваши токены по параграфам уже в DOM'е, а как запятые найти разберетесь.

Sigizmund2012 01.06.2015 09:18

Цитата:

Сообщение от kostyanet (Сообщение 373373)
Плохо делать из людей инвалидов чтоб затем стараться для инвалидов.

А инвалидов что, на специальном заводе делают? Шёл человек, упал, вот тебе инвалид. На зрение же сахарный диабет часто осложнения даёт, глаукома, да много всего.

kostyanet 01.06.2015 11:52

Да, вот оно чо, а я-то по тупости думал что это гугля делает из людей с ограниченными возможностями мобильных устройств инвалидов первой группы. Окейгугль, сделай меня безруким и безглазым.

Вы что с самом начала не поняли сарказма?


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