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 に答える