首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WordPress在短代码中解析短代码

WordPress在短代码中解析短代码
EN

Stack Overflow用户
提问于 2015-04-16 17:38:40
回答 1查看 282关注 0票数 0

我有一个短代码( outputURL ),用于将值输出到URL中。该值从一个短代码( valueURL )中检索。valueURL输出是用div包装的文本:

代码语言:javascript
运行
复制
<div class="">textForURL</div>

我只需要textForURL值,不包括div标记。到目前为止,我只能输出div标记和文本,而不能输出干净的文本版本。

下面是我的短代码函数:

代码语言:javascript
运行
复制
function ouputURL(){

$content = '[valueURL id="5"]';
$clean = preg_replace("#<div.*?>.*?</div>#", "", $content);
echo do_shortcode( $clean );
}

add_shortcode('output', 'ouputURL');

我进行了研究,并能够把它放在一起,但我不确定我是否朝着正确的方向正确地执行它。任何帮助,以实现我的目标,将不胜感激。

编辑:

这是为了进一步澄清我的问题。

  1. 我正在使用一个WordPress插件,它管理一个帖子中的所有嵌入式视频URL;
  2. 作为一个特性,该插件允许通过它的管理页面添加一个视频id (即vid=X23dw34 ),在观看主视频之前在播放列表中查看;
  3. 我想使用一个广告旋转插件来管理多个视频id,并根据广告服务参数并通过一个短代码(即valueURL id="5“)提供单个视频id;
  4. 广告旋转插件将一个DIV封装在视频id上:

<div class="">X23dw34</div>

  1. 使用我的功能,我已经能够修改管理嵌入式视频URL的插件,以填充视频id,包括广告旋转器短代码检索的div包装器。不幸的是,输出结果是:

"...video.com/embed/<div class="">X23dw34</div>..."

  1. 我的麻烦是解析出DIVs,只填充视频id以生成以下内容:

"...video.com/embed/X23dw34..."

我不确定我对短代码和解析的有限理解是问题,还是我的最终目标不能由一个简单的函数来处理。

如果您需要进一步的信息,请告诉我。

编辑2:

下面是整个iframe,我删除了额外的选项卡,以正确地格式化它:

<iframe width="100%" height="459" src="http://www.youtube.com/embed/oiE5qs8opqo?rel=0&autoplay=0&showinfo=0&controls=0&cc_load_policy=0&modestbranding=1&iv_load_policy=3&wmode=transparent&version=3&autohide=1" frameborder="0" allowfullscreen="true" allownetworking="internal"></iframe>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-17 01:12:22

我没有完全理解,但希望这能让你走上正轨:

代码语言:javascript
运行
复制
add_shortcode('output', 'ouputURL');
function ouputURL ( $atts ) {
    if(!isset($atts['id']))
        return;
    $valueURL = do_shortcode("[valueURL id={$atts['id']}]");
    preg_match("#<div.*?>(.*?)</div>#", $valueURL, $matches);
    if(!isset($matches[1]))
        return;
    return $matches[1]; // the ID
}

因此,如果在post/页面的内容中放置[output id=5],它将检索[valueURL id=5]的结果,查找div标记的内容,并返回要打印在页面上的内容。

您可以修改它以返回不仅仅是ID的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29682149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档