1

我正在使用 prettyPhoto API 使用以下代码手动打开灯箱:

api_images  ['images/fullscreen/image1.jpg','images/fullscreen/image2.jpg','images/fullscreen/image3.jpg'];
api_titles = ['Title 1','Title 2','Title 3'];
api_descriptions = ['Description 1','Description 2','Description 3']
$.prettyPhoto.open(api_images,api_titles,api_descriptions);

我面临的问题是描述值是从 Wordpress 的 WYSIWYG 中提取的,并且代码很容易被随机的 html 标签、标点符号等破坏

  <script type="text/javascript">
    $(document).ready(function() {
        $('#menu-item-1006').on('click', function(e) {
            e.preventDefault();
            var images = new Array();
            var descriptions = new Array();
            var titles = new Array();
<?php
$i = 0;
$images = new WP_Query(array('post_type' => 'clearance', 'showposts' => -1, 'order' => 'menu_order', 'orderby' => 'ASC'));
if ($images->have_posts()) : while ($images->have_posts()) : $images->the_post();

        $featured = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'full');
        ?>
                            images[<?php echo $i; ?>] = '<?php echo $featured[0]; ?>';
                            titles[<?php echo $i; ?>] =  '<?php the_title(); ?>'
                            descriptions[<?php echo $i; ?>] = '<?php echo get_the_content(); ?>';

        <?php
        $i++;
    endwhile;
else:
    ?>
<?php endif; ?>

            $.prettyPhoto.open(images, titles, descriptions);
        }) 
    });    
</script>

如何过滤 get_the_content() 函数,使其输出无错误?谢谢!

4

3 回答 3

1

一个简单的解决方案可能是:

代替

<?php echo get_the_content(); ?>

<?php echo preg_replace('/\<[^\>]+\>/s', '', get_the_content()); ?>
于 2013-07-04T17:55:16.423 回答
0

json_encode(get_the_content()) 有效!

于 2013-07-05T03:24:03.077 回答
0
$content = get_the_content();
echo strip_tags($content, '<a><img>');

将只留下aimg标签。我认为这就是画廊所需要的一切

于 2013-07-05T03:36:11.680 回答