23.08.2016, 09:40
|
Аспирант
|
|
Регистрация: 02.09.2015
Сообщений: 38
|
|
регулярное выражения поиска html-тега
здравствуйте
практикуюсь в регулярных выражениях. не получается в тексте найти html-тег. помогите, пожалуйста
var str = "Сайт рыбатекст поможет дизайнеру, верстальщику, 'вебмастеру сгенерировать the sun несколько абзацев более менее осмысленного' текста рыбы на русском языке, а начинающему оратору отточить навык публичных выступлений в домашних условиях. +7(903)-123-45-67 При создании генератора мы использовали небезызвестный универсальный код речей. Текст генерируется абзацами случайным образом от двух до десяти предложений в абзаце, что позволяет сделать текст более +7(912)-124-42-68 привлекательным и живым для визуально-слухового восприятия. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 'Aenean commodo ligula eget dolor. Aenean massa'. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, <style> justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.";
var reg = /<style>/g;
document.write(str.match(reg));
не выводится результат на экран.
|
|
23.08.2016, 10:43
|
Профессор
|
|
Регистрация: 21.09.2015
Сообщений: 196
|
|
gazman,
match возвращает массив, на сколько я знаю:
var str = "Сайт рыбатекст поможет дизайнеру, верстальщику, 'вебмастеру сгенерировать the sun несколько абзацев более менее осмысленного' текста рыбы на русском языке, а начинающему оратору отточить навык публичных выступлений в домашних условиях. +7(903)-123-45-67 При создании генератора мы использовали небезызвестный универсальный код речей. Текст генерируется абзацами случайным образом от двух до десяти предложений в абзаце, что позволяет сделать текст более +7(912)-124-42-68 привлекательным и живым для визуально-слухового восприятия. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 'Aenean commodo ligula eget dolor. Aenean massa'. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, <style> justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.";
var reg = /<style>/g;
alert(str.match(reg)[0]);
|
|
23.08.2016, 10:45
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,215
|
|
Сообщение от gazman
|
не выводится результат на экран
|
А что должно быть на экране?
|
|
23.08.2016, 14:52
|
Аспирант
|
|
Регистрация: 02.09.2015
Сообщений: 38
|
|
выводиться должно <style>
с помощью массива также не выводится.
другие правила выводит значения (например var reg = /\d/g), но когда пишу треугольные скобки, то ни чего не отображает
|
|
23.08.2016, 15:26
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,215
|
|
Сообщение от gazman
|
выводиться должно <style>
|
Т.е. тебе нужно посмотреть какие теги есть в тексте?
Тогда, как вариант...
var str = "Сайт рыбатекст поможет дизайнеру, <b>верстальщику</b>, 'вебмастеру сгенерировать the sun <span>несколько</span> абзацев более менее осмысленного' текста рыбы на русском языке, а начинающему оратору отточить навык публичных выступлений в домашних условиях. +7(903)-123-45-67 При создании генератора мы использовали небезызвестный универсальный код речей. Текст генерируется абзацами случайным образом от двух до десяти предложений в абзаце, что позволяет сделать текст более +7(912)-124-42-68 привлекательным и живым для визуально-слухового восприятия. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 'Aenean commodo ligula eget dolor. Aenean massa'. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, <style> justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.";
var reg = /<[^\/]+?>/gm;
alert(str.match(reg));
Последний раз редактировалось ksa, 23.08.2016 в 15:30.
|
|
23.08.2016, 16:22
|
Аспирант
|
|
Регистрация: 02.09.2015
Сообщений: 38
|
|
спасибо. всё хорошо
почему-то через document.write не выводит, а через alert всё хорошо
|
|
23.08.2016, 16:54
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,215
|
|
Сообщение от gazman
|
почему-то через document.write не выводит, а через alert всё хорошо
|
Потому как alert может преобразовывать массивы а document.write - нет.
|
|
23.08.2016, 16:59
|
Профессор
|
|
Регистрация: 21.09.2015
Сообщений: 196
|
|
Сообщение от gazman
|
через document.write не выводит
|
Нажмите ctrl+u
хоть и не понимаю, зачем Вас с document.write, но вот так можно:
<script type="text/javascript">
var str = "Сайт рыбатекст поможет дизайнеру, <b>верстальщику</b>, 'вебмастеру сгенерировать the sun <span>несколько</span> абзацев более менее осмысленного' текста рыбы на русском языке, а начинающему оратору отточить навык публичных выступлений в домашних условиях. +7(903)-123-45-67 При создании генератора мы использовали небезызвестный универсальный код речей. Текст генерируется абзацами случайным образом от двух до десяти предложений в абзаце, что позволяет сделать текст более +7(912)-124-42-68 привлекательным и живым для визуально-слухового восприятия. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 'Aenean commodo ligula eget dolor. Aenean massa'. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, <style> justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.";
var reg = /<[^\/]+?>/gm;
document.write(str.match(reg).join(", ").replace(/</g, "<").replace(/>/g, ">"));
</script>
|
|
23.08.2016, 18:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Manyasha,
а без document.write и replace?
|
|
23.08.2016, 21:40
|
Аспирант
|
|
Регистрация: 02.09.2015
Сообщений: 38
|
|
я просто проверяю результат через document.write
мне больше нравится чем алерт
|
|
|
|