这个PHP代码中的target = _Blank

时间:2014-01-30 16:52:31

标签: php html wordpress

希望你们一切顺利。

所以这就是我想要做的。我想在wordpress中添加一个评论插件,可以在一个带有target =“_ blank”代码的新窗口中打开我想要的页面。

我相信这就是魔术发生的地方,这是原作:

if ($show_morelink != '') {
                $review->review_text .= " <a href='".$this->get_jumplink_for_review($review,1)."'>$show_morelink</a>";
            }

这就是我没有取得任何成功的原因:

if ($show_morelink != '') {
                $review->review_text .= " <a href='".$this->get_jumplink_for_review($review,1)."' target="_blank">$show_morelink</a>";
            }

我是PHP的初学者,我希望有人可以帮助我...我知道这不是很难......我只是错过了一些东西。

谢谢!

5 个答案:

答案 0 :(得分:3)

你必须逃避你的报价。

使用以下

    $_morelink != '') {
        $review->review_text .= "<a href='".$this->get_jumplink_for_review($review,1)."' target=\"_blank\">$show_morelink</a>";
    }

Source用于处理字符串。

答案 1 :(得分:1)

因为您的代码被双引号括起来,所以当您添加目标时,您将突破它们。你可以使用斜杠来逃避这样的引号:

$review->review_text .= " <a href='".$this->get_jumplink_for_review($review,1)."' target=\"_blank\">$show_morelink</a>";

或更改为使用单引号:

$review->review_text .= " <a href='".$this->get_jumplink_for_review($review,1)."' target='_blank'>$show_morelink</a>";

修改的 你能做到的第三种方法是用单引号括起整个字符串并删除里面的单引号和句号:

$review->review_text .= ' <a href="$this->get_jumplink_for_review($review,1)" target="_blank">$show_morelink</a>';

答案 2 :(得分:0)

你的问题是你使用双引号来表示php字符串,所以你不能为你的html使用双引号:

if ($show_morelink != '') {
    $review->review_text .= " <a href='".$this->get_jumplink_for_review($review,1)."' target='_blank'>$show_morelink</a>";
}

如果查看HTML输出,您会看到hreftarget现在都使用单引号。

答案 3 :(得分:0)

我总是更喜欢使用单引号来表示HTML代码字符串,以提高可读性。

if ($show_morelink != '') {
    $review->review_text .= '
      <a href="'.$this->get_jumplink_for_review($review,1).'" target="_blank">'.$show_morelink.'</a>';
}

答案 4 :(得分:0)

很多答案;最正确地指出了不正确的报价转义。

由于尚未提及,sprintf()也可以帮助提高可读性,而不必连接字符串。

$link = $this->get_jumplink_for_review($review,1);
$text = sprintf('<a href="%s" target="_blank">%s</a>', $link, $label);