我将fancybox添加到Wordpress上的产品库中。我使用产品标题作为隐藏div的id名称和缩略图链接的href。产品标题中有空格,打破了花哨盒。
我在网上找到的解决方案仅涉及html元素之间的空格,而我的javascript / regex知识不足以从那里获得解决方案。
以下是我用来生成产品缩略图和图片的代码:
<div class="entry-post-thumbnail">
<a class="size-<?php echo $image_size;?> fancybox" href="#image-<?php the_title(); ?>"><?php the_post_thumbnail($image_size); ?></a>
<div id="image-<?php the_title(); ?>" style="display: none;">
<?php the_post_thumbnail($post->ID,'full'); ?>
</div>
</div><!-- .entry-post-thumbnail -->
这是输出的代码:
<a class="size-product fancybox" href="#image-Product three">
<img src="[###]/wp-content/uploads/2013/06/product-thumbnail.png" class="attachment-product wp-post-image" alt="Product thumbnail" height="222" width="166"></a>
<div id="image-Product three" style="display: none;">
<img src="[###]/wp-content/uploads/2013/06/product-thumbnail.png" class="attachment- wp-post-image" alt="Product thumbnail" full="" height="222" width="166">
</div>
非常感谢任何帮助!
答案 0 :(得分:1)
使用preg_replace
<div id="image-<?php preg_replace('/(\s/', '', the_title()); ?>" style="display: none;">
更好的正则表达式是[^A-Za-z0-9\-_:.]
。这会根据What are valid values for the id attribute in HTML?匹配html ID的所有无效字符。