在php echo中转义双引号

时间:2014-03-27 13:28:43

标签: php wordpress

您好我在wordpress上创建一个网站,其中一些特色图片必须是youtube视频的缩略图,因为我使用模块视频缩略图但是我似乎无法让它正常工作。使用以下代码

<?php 
    if( ( $video_thumbnail = get_video_thumbnail() ) != null ) { 
        echo "<a href=\"<?php echo get_permalink( $id ); ?>\"><img src='" . $video_thumbnail . "' /></a>"; 
    }
?>

我得到了youtube视频的图片(如果有的话),但该帖子的链接已损坏,显示如下<a href="<?php echo get_permalink( 15544 ); ?>"><img src="http://www.test.com/wp-content/uploads/2014/03/15544.jpg"></a> \&#34;&GT;&#34 ;; }?&gt;在http://www.test.com/?p=15544实际帖子的链接的insdead我意识到问题可能在逃避但是我尝试了多个逃避的方法,如\&#34;或使用&#39;对于回声和&#34;对于实际的字符串,我似乎可以让它工作,我知道我的PHP糟透了所以我可能不会逃避它,我会感激任何建议。

4 个答案:

答案 0 :(得分:2)

使用此功能;

<?php 
    if( ( $video_thumbnail = get_video_thumbnail() ) != null ) { 
        echo "<a href=\"" . get_permalink( $id ) . "\"><img src='" . $video_thumbnail . "' /></a>"; 
    } 
?>

答案 1 :(得分:1)

您可以使用printf()

使代码更具可读性和可管理性
if( ( $video_thumbnail = get_video_thumbnail() ) != null )
{ 
    printf( '<a href="%s"><img src="%s"/></a>', 
            get_permalink( $id ), 
            $video_thumbnail 
    ); 
} 

转义输入值是一个很好的规则。

例如检查Codex中有用的esc_* WordPress函数。

答案 2 :(得分:0)

应该如下所示

<?php 
    if( ( $video_thumbnail = get_video_thumbnail() ) != null ) { 
        echo "<a href=\"".get_permalink( $id )."\"><img src='" . $video_thumbnail . "' /></a>"; 
    } 
?>

答案 3 :(得分:0)

尝试使用:

<?php 
    if( ( $video_thumbnail = get_video_thumbnail() ) != null ) { 
        echo '<a href="'. echo get_permalink( $id ); .'"><img src='" . $video_thumbnail . "' /></a>"; 
    } 
?>