JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootswatch/4.4.1/darkly/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<div class="container" style="margin-top: 50px">
<div class="form-group">
<textarea placeholder="Вставьте HTML код любой страницы с КиноПоиска" spellcheck="false" autocomplete="off" class="form-control" id="html" style="height: 400px"></textarea>
</div>
<div class="form-group">
<div class="btn btn-primary btn-lg btn-block" onclick="getIds()">Получить все ID из HTML</div>
</div>
<div class="row" id="img"></div>
</div>
JavaScript
function getHtml() {
if (document.querySelector('#url').value !== '') {
$.ajax({ url: 'https://' + document.querySelector('#url').value.replace(/https?:\/\//i, ''), success: function(data) {
document.querySelector('#html').value = data;
}});
}
}
function getIds() {
if (document.querySelector('#html').value !== '') {
var regexp = new RegExp('(?:' +
'/level/1/film/([0-9]{3,8})|' +
'kinopoisk\\.ru/([0-9]{3,8})\\.gif|' +
'rating/([0-9]{3,8})\\.gif|' +
'/film/([0-9]{3,8})|' +
'/series/([0-9]{3,8})' +
')', 'gi');
var ids_array = document.querySelector('#html').value.match(regexp);
if (ids_array && ids_array.length) {
document.querySelector('#html').value = ids_array.map(function (id) {
var s = id.split('/');
id = s[s.length - 1].replace(/[^0-9]/, '');
id = parseInt(id) >= 298 && parseInt(id) <= 10000000 ? parseInt(id) : 0;
var div = document.createElement('div');
div.setAttribute('class', 'col-md-2');
var img = document.createElement('img');
img.setAttribute('src', 'https://st.kp.yandex.net/images/film_iphone/iphone180_' + id + '.jpg');
img.setAttribute('alt', id + '');
img.setAttribute('title', id + '');
img.setAttribute('class', 'img-thumbnail');
div.appendChild(img);
document.querySelector('#img').appendChild(div);
return id;
}).filter(Boolean).filter(function(item, pos, self) {
return self.indexOf(item) === pos;
}).join(',');
}
}
}