我将此功能用于其他视频主机,但由于某些原因,现在它不起作用。这是视频的直接嵌入代码
https://vidoza.net/r2jeim68kuq6.html
<IFRAME SRC="https://vidoza.net/embed-r2jeim68kuq6.html" FRAMEBORDER=0 MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=NO WIDTH=640 HEIGHT=360 allowfullscreen></IFRAME>
这是我的注册功能。
add_action( \'init\', function()
{ wp_embed_register_handler(
\'vidoza\',
\'#https://vidoza\\.net/([a-zA-Z0-9_-]+)$#i\',
\'vidoza_embed_handler\'
);
} );
function vidoza_embed_handler( $matches, $attr, $url, $rawattr )
{
$embed = sprintf(
\'<IFRAME SRC="https://vidoza.net/embed-%1$s" FRAMEBORDER=0 MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=NO WIDTH=640 HEIGHT=360 allowfullscreen></IFRAME>\',
esc_attr( $matches[1] )
);
return apply_filters( \'vidoza_embed_handler\', $embed, $matches, $attr, $url, $rawattr );
}
我无法让它工作。
最合适的回答,由SO网友:birgire 整理而成
您正在尝试匹配r2jeim68kuq6.html 部分,但此处不允许在正则表达式模式中使用点:
\'#https://vidoza\\.net/([a-zA-Z0-9_-]+)$#i\'
您可以尝试,例如(删除
A-Z 也因为不区分大小写
i 搜索):
\'#https://vidoza\\.net/([a-z0-9_-]+)\\.html$#i\'
如果
.html 是标准扩展,您还可以将iframe源调整为:
src="https://vidoza.net/embed-%1$s.html"
希望有帮助!