0

file_get_contents を使用して Web ページのコンテンツを取得していますが、body タグの一部が出力に残ります。また、strip_tags() を使用して他の html タグを削除していますが、body タグの一部が残っています。

どうすれば削除できますか?

私が得ている出力は body> で、次に content です。

これが私のコードです:

$content = file_get_contents( $url );
$content = stristr( $content, "body" );
echo strip_tags($content);
4

1 に答える 1

1

stristr一致した文字列が開始するインデックスから開始を返しますが、実際には終了後に 1 つの文字が返されます。

$content = substr(strpos($content, "<body>") + strlen("<body>") + 1);

また、「本文」が実際のコンテンツに表示される可能性があるため、「本文」ではなく「」を検索する必要があります。ただし、とにかく使用しているためstrip_tags、実際には body タグの先頭から取得することができ、問題なく動作します。

$content = stristr($content, "<body>");

これにより、 で始まるコンテンツが返さ<body>れ、 によって取り除かれstrip_tagsます。

于 2013-04-02T16:22:10.050 に答える