【发布时间】:2020-12-02 13:45:58
【问题描述】:
我有一个字符串,其中可能包含一个或多个 YouTube 或 Vimeo 锚点实例。我正在寻找一个 javascript 函数来搜索这个字符串,检测锚点 href 是 youtube 还是 Viemo url,如果是,则将锚点替换为带有 href 值的 iframe。
注意:这是一个来自 api 的字符串,而不是 dom 元素。在将其发送到视图之前,我想进行此切换。
输入:
"check out this video! <a href="https://www.youtube.com/watch?v=STsWJ63QgCg&ab_channel=BonApp%C3%A9tit">https://www.youtube.com/watch?v=STsWJ63QgCg&ab_channel=BonApp%C3%A9tit</a>"
我想将该锚点更改为 iframe,以便您可以只播放视频而不是转到链接。
所以是这样的:
"check out this video! <iframe src=\"https://www.youtube.com/watch?v=STsWJ63QgCg&ab_channel=BonApp%C3%A9tit\" frameborder=\"0\" allowfullscreen=\"true\" allow=\"autoplay\"></iframe>";
我尝试过正则表达式,但我不擅长它,我还没有找到任何好的例子。这基本上就是我所拥有的:
function checkForVideoUrl(message) {
var youtubeCheck = "<a href=\"https://www.youtube.com/watch";
var vimeoCheck = "https://vimeo.com/";
if (message.toLowerCase().toString().indexOf(youtubeCheck) !== -1 || message.toLowerCase().toString().indexOf(vimeoCheck) !== -1) {
console.log('true');
// Replace anchors with video href's to iframes
}
}
【问题讨论】:
标签: javascript jquery regex