如何在使用htmlspecialchars时使用href

时间:2013-07-25 15:42:20

标签: php html hyperlink

假设我有这个代码

$text = "please visit this <a href="http://example.com">site</a>."
$text = htmlspecialchars($text);
echo $text;

所以它的输出将是please visit this <a href="http://example.com">site</a>. 但我希望它的输出像这样 请访问此site。 有没有办法看看它是否是一个href然后做某事? 感谢。

2 个答案:

答案 0 :(得分:2)

仅转义网址:

$text = 'please visit this <a href="' . htmlspecialchars('http://example.com') . '">site</a>.'

注意单引号和双引号之间的切换。

答案 1 :(得分:1)

您的字符串定义很糟糕(正如您可以通过语法高亮显示)。 实际上,您不需要在此实例中转义任何内容,因为您需要功能性HTML。

你可以像这样使用转义字符:

$text = "please visit this <a href=\"http://example.com\">site</a>."
                                   ^- escape here      ^- and here

有时你可以使用不同的引号集,例如:

// use single quote
$text = 'please visit this <a href="http://example.com">site</a>.'

另一种可能性是HEREDOC表示法:( stackoverflow无法识别语法)

$text = <<<DELIM
please visit this <a href="http://example.com">site</a>.
DELIM;