这是我的代码,它会回显“不工作”
$f = file_get_contents("http://www.google.com");
$text = htmlspecialchars( $f );
$matches = array();
preg_match('@<a.*?</a>@s', $text, $matches);
if ($matches) {
$text2 = $matches[0];
echo $text2;
}
else {
echo "Not working";
}
如果我做了一个变量:
$text = '<a href="http://www.google.com">Google</a> is your best friend!';
这会以某种方式起作用,但是当我从以下地方拿走它时它不会。
$text = htmlspecialchars( $f );
任何人都知道为什么?
答案 0 :(得分:2)
答案 1 :(得分:2)
这是因为htmlspecialchars
会将所有特殊字符<&>"'
等转换为html entities(例如,&
变为&
)。因此你的比赛失败了。