Разбить текст на фразы и завернуть в тэги
Здравствуйте. Нужна помощь знатоков.
Есть 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: после этого и еще двух шагов получится букмарклет кроссбраузерная читалка текстов голосом Гугл-переводчика. результатом поделюсь со всеми |
Exhaust_, http://api.jquery.com/wrap/
|
Цитата:
var foo = 5, bar=function(baz){return baz+10}; Разница лишь в том, что подсвечиваются слова, а у вас - фразы. Подняв уровень абстракции назовем - токены. Для синтаксиса js токенов много, у вас - 2. Сделав токены по заданным правилам, например регой, натравливаете обычную подсветку. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Да, вот оно чо, а я-то по тупости думал что это гугля делает из людей с ограниченными возможностями мобильных устройств инвалидов первой группы. Окейгугль, сделай меня безруким и безглазым.
Вы что с самом начала не поняли сарказма? |
Что касается поддержки дивайсов для инвалидов, там все что требуется уже написано, от веб-дизайнера лишь требуется правильно расставить все эти aria теги и особенно в динамической подгрузке профтыкать правильную политику, чтоб человеку в ухо не читали одно и то же с самого начала за небольшим обновлением где-то в конце. У ТС явно какой-то самопал или вроде того.
|
Делаю для родственника с дефектом зрения
Первый ответ я так и не понял: var foo = 5, bar=function(baz){return baz+10}; Но что если подойти с другой стороны Сначала завернуть весь текст в <speakbit></speakbit> а потом поставить после всех знаков препинания </speakbit><speakbit>. Как бы наоборот сделать? |
Exhaust_,
не могли бы вы написать результат который хотите получить из кода в 1 посте. |
Предполагаемый результат при загрузке код страницы из такого:
<body> <h1>Дэвид Вернон: «То, что мы называем искусственным интеллектом, им не является»</h1> <p><em>Дэвид Вернон — признанный специалист в области создания и изучения искусственного интеллекта, приглашенный профессор <a href="http://university.innopolis.ru/">Университета Иннополис</a>. За последние 36 лет он работал в университетах Ирландии, Швеции, Германии, ОАЭ, а также в Европейском сообществе развития систем искусственного интеллекта. Мы побеседовали с Дэвидом о настоящем и будущем искусственного интеллекта.</em></p> <p><strong>— Что ученые понимают под искусственным интеллектом?</strong></p> <p>— У понятия «искусственный интеллект» много объяснений. Одно из старейших дано Алленом Ньюэллом и Гербертом Саймоном, двумя пионерами исследований в этой области, которые в 1975 году написали: «Задача интеллекта заключается в том, чтобы не допустить экспоненциального взрыва при поиске решения проблемы». Они имели в виду, что существует огромное количество в большинстве своем интересных проблем, которые заставляют нас изучить экспоненциально огромное количество их потенциальных решений, чтобы найти то, которое подойдет, в случае если применить к ним метод простого перебора. Лучшим способом избежать этого «взрыва» возможных вариантов решения является интеллектуальный выбор вашей стратегии поиска. С этой точки зрения искусственный интеллект — это наличие такой стратегии у машины, чаще всего у компьютера или у робота, который контролируется компьютером.</p> </body> стать таким <body> <speakbit><h1>Дэвид Вернон:</speakbit><speakbit>«То,</speakbit><speakbit>что мы называем искусственным интеллектом</speakbit><speakbit>им не является»</speakbit><speakbit></h1> <p><em>Дэвид Вернон —</speakbit><speakbit>признанный специалист в области создания и изучения искусственного интеллекта,</speakbit><speakbit>приглашенный профессор <a href="http://university.innopolis.ru/">Университета Иннополис</a>.</speakbit><speakbit>За последние 36 лет он работал в университетах Ирландии,</speakbit><speakbit>Швеции,</speakbit><speakbit>Германии,</speakbit><speakbit>ОАЭ,</speakbit><speakbit>а также в Европейском сообществе развития систем искусственного интеллекта.</speakbit><speakbit>Мы побеседовали с Дэвидом о настоящем и будущем искусственного интеллекта.</speakbit><speakbit></em></p> <p><strong>— Что ученые понимают под искусственным интеллектом?</speakbit><speakbit></strong></p> <p>— У понятия «искусственный интеллект» много объяснений.</speakbit><speakbit>Одно из старейших дано Алленом Ньюэллом и Гербертом Саймоном,</speakbit><speakbit>двумя пионерами исследований в этой области,</speakbit><speakbit>которые в 1975 году написали:</speakbit><speakbit>«Задача интеллекта заключается в том,</speakbit><speakbit>чтобы не допустить экспоненциального взрыва при поиске решения проблемы».</speakbit><speakbit>Они имели в виду,</speakbit><speakbit>что существует огромное количество в большинстве своем интересных проблем,</speakbit><speakbit>которые заставляют нас изучить экспоненциально огромное количество их потенциальных решений,</speakbit><speakbit>чтобы найти то,</speakbit><speakbit>которое подойдет,</speakbit><speakbit>в случае если применить к ним метод простого перебора.</speakbit><speakbit>Лучшим способом избежать этого «взрыва» возможных вариантов решения является интеллектуальный выбор вашей стратегии поиска.</speakbit><speakbit>С этой точки зрения искусственный интеллект —</speakbit><speakbit>это наличие такой стратегии у машины,</speakbit><speakbit>чаще всего у компьютера или у робота,</speakbit><speakbit>который контролируется компьютером.</speakbit><speakbit></p></speakbit> </body> фактически после каждого знака препинания и абзаца ставить </speakbit><speakbit> |
Exhaust_, нажмите на scan внизу текста - увидите разбивку
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script> $.fn.highlight = function (b, k) { function l() { $("." + c.className).each(function (c, e) { var a = e.previousSibling, d = e.nextSibling, b = $(e), f = ""; a && 3 == a.nodeType && (f += a.data, a.parentNode.removeChild(a)); e.firstChild && (f += e.firstChild.data); d && 3 == d.nodeType && (f += d.data, d.parentNode.removeChild(d)); b.replaceWith(f) }) } function h(b) { b = b.childNodes; for (var e = b.length, a; a = b[--e];) if (3 == a.nodeType) { if (!/^\s+$/.test(a.data)) { var d = a.data, d = d.replace(m, '<speakbit class="' + c.className + '">$1</speakbit>'); $(a).replaceWith(d) } } else 1 == a.nodeType && a.childNodes && (!/(script|style)/i.test(a.tagName) && a.className != c.className) && h(a) } var c = { split: "\\s+", className: "highlight", caseSensitive: !1, strictly: !1, remove: !0 }, c = $.extend(c, k); c.remove && l(); b = $.trim(b); var g = c.strictly ? "" : "\\S*"; // m = RegExp("(" + g + b.replace(RegExp(c.split, "g"), g + "|" + g) + g + ")", (c.caseSensitive ? "" : "i") + "g"); m = /(.+?)(?=[-:.,]|$)/g; return this.each(function () { b && h(this) }) }; $(function () { $('#scan').click(function () { $("body h1, body p").highlight("null", {}) }) }) </script> <style type="text/css"> speakbit.highlight {color:red; border : 2px solid #000000; display: block;} </style> </head> <body> <h1>Дэвид Вернон: «То, что мы называем искусственным интеллектом, им не является»</h1> <p><em>Дэвид Вернон — признанный специалист в области создания и изучения искусственного интеллекта, приглашенный профессор <a href="http://university.innopolis.ru/">Университета Иннополис</a>. За последние 36 лет он работал в университетах Ирландии, Швеции, Германии, ОАЭ, а также в Европейском сообществе развития систем искусственного интеллекта. Мы побеседовали с Дэвидом о настоящем и будущем искусственного интеллекта.</em></p> <p><strong>— Что ученые понимают под искусственным интеллектом?</strong></p> <p>— У понятия «искусственный интеллект» много объяснений. Одно из старейших дано Алленом Ньюэллом и Гербертом Саймоном, двумя пионерами исследований в этой области, которые в 1975 году написали: «Задача интеллекта заключается в том, чтобы не допустить экспоненциального взрыва при поиске решения проблемы». Они имели в виду, что существует огромное количество в большинстве своем интересных проблем, которые заставляют нас изучить экспоненциально огромное количество их потенциальных решений, чтобы найти то, которое подойдет, в случае если применить к ним метод простого перебора. Лучшим способом избежать этого «взрыва» возможных вариантов решения является интеллектуальный выбор вашей стратегии поиска. С этой точки зрения искусственный интеллект — это наличие такой стратегии у машины, чаще всего у компьютера или у робота, который контролируется компьютером.</p> <input id="scan" name="" type="button" value="scan"> </body> </html> |
Цитата:
|
То что нужно. Огромное спасибо, рони
|
Sigizmund2012,
http://javascript.ru/forum/project/4...-v-tekste.html |
:lol:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <script> window.onload = function() { var bodyText = document.body.innerHTML.trim(); bodyText = bodyText.replace(/(\n)/g, '$1<speakbit></speakbit>'); bodyText = bodyText.replace(/([,:;—«»!?.“”])/gi, '$1<speakbit></speakbit>'); document.body.innerHTML = bodyText; document.body.appendChild(document.createElement("textarea")) document.querySelector("textarea").innerHTML = bodyText; document.querySelector("textarea").cols = 120; document.querySelector("textarea").rows = 55; } </script> </head> <body> <h1>Дэвид Вернон: «То, что мы называем искусственным интеллектом, им не является»</h1> <p><em>Дэвид Вернон — признанный специалист в области создания и изучения искусственного интеллекта, приглашенный профессор <a href="http://university.innopolis.ru/">Университета Иннополис</a>. За последние 36 лет он работал в университетах Ирландии, Швеции, Германии, ОАЭ, а также в Европейском сообществе развития систем искусственного интеллекта. Мы побеседовали с Дэвидом о настоящем и будущем искусственного интеллекта.</em></p> <p><strong>— Что ученые понимают под искусственным интеллектом?</strong></p> <p>— У понятия «искусственный интеллект» много объяснений. Одно из старейших дано Алленом Ньюэллом и Гербертом Саймоном, двумя пионерами исследований в этой области, которые в 1975 году написали: «Задача интеллекта заключается в том, чтобы не допустить экспоненциального взрыва при поиске решения проблемы». Они имели в виду, что существует огромное количество в большинстве своем интересных проблем, которые заставляют нас изучить экспоненциально огромное количество их потенциальных решений, чтобы найти то, которое подойдет, в случае если применить к ним метод простого перебора. Лучшим способом избежать этого «взрыва» возможных вариантов решения является интеллектуальный выбор вашей стратегии поиска. С этой точки зрения искусственный интеллект — это наличие такой стратегии у машины, чаще всего у компьютера или у робота, который контролируется компьютером.</p> <p>— У понятия «искусственный интеллект» много объяснений. Одно из старейших дано Алленом Ньюэллом и Гербертом Саймоном, двумя пионерами исследований в этой области, которые в 1975 году написали: «Задача интеллекта заключается в том, чтобы не допустить экспоненциального взрыва при поиске решения проблемы». Они имели в виду, что существует огромное количество в большинстве своем интересных проблем, которые заставляют нас изучить экспоненциально огромное количество их потенциальных решений, чтобы найти то, которое подойдет, в случае если применить к ним метод простого перебора. Лучшим способом избежать этого «взрыва» возможных вариантов решения является интеллектуальный выбор вашей стратегии поиска. С этой точки зрения искусственный интеллект — это наличие такой стратегии у машины, чаще всего у компьютера или у робота, который контролируется компьютером.</p> </body> </html> </body> </html> |
Цитата:
<p> как пример, еще есть <a>, <img>, <b>, <u>, <i>, <em>, <srtong>, <h1>, <hr>, <span>, <div> |
Exhaust_,
поместите текст в блок, и тогда строка 51 будет $("body h1, body p").highlight("null", {}) $("#ид_блока *").highlight("null", {}) |
Цитата:
|
Exhaust_,
в скрипте ничего менять ненужно, кроме того что нужно указать блок в котором находится ваш текст. |
Exhaust_,
вместо body h1, body p вы должны указать или класс или id того блока где находиться ваш текст |
Часовой пояс GMT +3, время: 05:59. |