我正在运行一个wordpress站点,我需要正确的regex语法来从\\u content()中返回的一些短代码中获取URL。
当我使用\\u content()时,它将返回如下内容:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam nulla enim, euismod ut pharetra nec, commodo a augue. Etiam sit amet nibh mauris, eu ornare purus. Vestibulum sed sem enim, sit amet congue leo.
[video mp4=<<insert video url here>> poster=<<insert imgae placeholder url>>]
如何获取视频mp4 URL?
SO网友:mrwweb
没有必要为此使用regex。WordPress有一个Shortcode API 为你做这项工作。
该codex页面包含我最喜欢的codex代码片段之一:
function bartag_func( $atts ) {
extract( shortcode_atts( array(
\'foo\' => \'something\',
\'bar\' => \'something else\',
), $atts ) );
...
在注册短代码的函数开始时,它会执行以下操作:
取用户提交的短代码,如果未提供,则填写默认值$atts
参数,并将每个值转换为变量(例如。$foo
, $bar
, 对你来说$mp4
和$poster
SO网友:The J
抓住mp4
包含以下内容的url:
<?php
$text = get_the_content(); //untested with get_the_content()
preg_match_all("\\bmp4="(.+)\\b", $text, $matches);
var_dump($matches[0]);
?>
例如,[视频mp4=”http://somevideo.com/abc“],将输出:
http://somevideo.com/abc
这是我的
Gist, 其中的示例对我很有用,但结果可能会有所不同,具体取决于
$text
.