Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как понять что между тэгов (https://javascript.ru/forum/misc/71928-kak-ponyat-chto-mezhdu-tehgov.html)

jay-S 22.12.2017 07:07

как понять что между тэгов
 
Здравствуйте!

Вот такая вот нужна проверка

есть строка

str = 'bla bla bla bla bla [youtube]https://www.youtube.com/watch?v=C0DPdy98e4c[/youtube]b la bb b[youtube]https://www.youtube.com/watch?v=C0DPdy98e4c[/youtube]lalbl a';


мне нужно найти есть ли в этой строке
(youtube)(/youtube)

содержится ли между ними ссылка именно ютюба и потом получить саму ссылку между этими тэгами


PS:квадратные скобки с тэгами yuotube не вставляются поэтому круглые для наглядности поставил

void() 22.12.2017 07:56

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Пример</title>
</head>
<body>
	
	<script>
		var str = 'bla bla bla bla bla [youtube]https://www.youtube.com/watch?v=C0DPdy98e4c[/youtube]b la bb b[youtube]https://www.youtube.com/watch?v=C0DPdy98e4c[/youtube]lalbl a';
		var pos = 0;

		while (true) {
			var pos1 = str.indexOf('[youtube]', pos);
			var pos2 = str.indexOf('[/youtube]', pos);

			if (pos2 == -1) break;
			alert(str.substring(pos1+9, pos2));
			pos = pos2 + 1;
		}
	</script>
</body>
</html>

jay-S 22.12.2017 16:52

Я посмотрел ваш способ и вот что не так:

он не проверяет открытый тэг и закрытый тэг и что внутри

то есть смотрите если тэги будут вот так (youtube) (/youtubeka)
вообщем он должен понять есть ли открытый и закрытый тэг и есть ли внутри именно ссылка ютюба, если внутри не ссылка, а что-то другое он пропускает и ищет другие


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