0

这是我的代码,它会回显“不工作”

    $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 );

有谁知道为什么?

4

2 回答 2

2

htmlspecialchars 将从

<

&lt;

等。 请参阅手册。

于 2011-04-22T22:26:42.263 回答
2

这是因为htmlspecialchars将所有特殊字符<&>"'等转换为html 实体(例如,&变成&amp;)。因此你的比赛失败了。

于 2011-04-22T22:26:52.323 回答