从AMP文章中删除html标签(Wordpress)

时间:2016-07-29 00:50:04

标签: html regex wordpress strip amp-html

我在我的Wordpress网站上安装了放大器插件。 现在我想自定义post_amp_content的输出,以便在我使用AMP-Validator的情况下完成所有错误。

目前的问题是,在我正常的Wordpress帖子中,我使用了图片标签。 <picture></picture>,但不允许这样做。

所以现在我想进入提供给AMP插件的内容:

<!doctype html>
<html amp>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
    <?php do_action( 'amp_post_template_head', $this ); ?>

    <style amp-custom>
    <?php $this->load_parts( array( 'style' ) ); ?>
    <?php do_action( 'amp_post_template_css', $this ); ?>
    </style>
</head>
<body>
<nav class="amp-wp-title-bar">
    <div>
    <a href="<?php echo esc_url( $this->get( 'home_url' ) ); ?>">
        <?php $site_icon_url = $this->get( 'site_icon_url' ); ?>
        <?php if ( $site_icon_url ) : ?>
            <amp-img src="<?php echo esc_url( $site_icon_url ); ?>" width="32" height="32" class="amp-wp-site-icon"></amp-img>
        <?php endif; ?>
        <?php echo esc_html( $this->get( 'blog_name' ) ); ?>
    </a>
</div>
</nav>
<div class="amp-wp-content">
    <h1 class="amp-wp-title"><?php echo wp_kses_data( $this->get( 'post_title' ) ); ?></h1>
    <ul class="amp-wp-meta">
        <?php $this->load_parts( apply_filters( 'amp_post_template_meta_parts', array( 'meta-author', 'meta-time', 'meta-taxonomy' ) ) ); ?>
    </ul>
    <?php echo $this->get( 'post_amp_content' ); // amphtml content; no kses ?>
</div>
<?php do_action( 'amp_post_template_footer', $this ); ?>
</body>
</html>

内容来自$this->get( 'post_amp_content' ); 在这里,我想删除<picutre></picture>标记。

我的方法是:

<?php 
$content =get( 'post_amp_content' );
$content = preg_replace("/<picture[^>]+\>/i", "", $content);
$content = apply_filters('post_amp_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $this-> $content; // amphtml content; no kses ?>

但它不起作用。我对此很新,我在哪里犯了错误?

0 个答案:

没有答案