в ссылку, если это ссылка, а если это ссылка на ютуб - то в iframe .....А если - обычный текст - то оставить текст .....как это сделать, чтобы весь контент остался?
Вот, что я пытался:
const link_exp = /((https?|ftps?):\/\/[^"<\s]+)(?![^<>]*>|[^"]*?<\/a)/gi;
const youtube_exp = /(?:https?:\/\/)?(?:www\.)?youtu\.?be(?:\.com)?\/?.*(?:watch|embed)?(?:.*v=|v\/|\/)([\w\-_]+)\&?/gi;
if (value.match(youtube_exp)) {
const i_frames = [];
const embed = value.replace(/watch\?v=/gi, 'embed/');
const youtube_links = embed.match(youtube_exp);
for (let i = 0; i < youtube_links.length; i++) {
const iframe = <iframe width="100%" height="420" allowfullscreen src="${youtube_links[i]}"></iframe>;
i_frames.push(iframe);
}
return this.sanitizer.bypassSecurityTrustHtml(i_frames.join(''));
}
return value.replace(
link_exp,
`<a href="$1" target="_blank" class="link ${
inverted ? 'link--inverted' : ''
}">$1</a>`,
);
Но если вставляю youtube ссылки, то пропадает другой контент....
Проблему решил сам
Обсуждают сегодня