PHP


file_get_contents("http://yahoo.com") で取得したWebページHTMLソースコードから、ブラウザ側に表示される文字列だけを表示するにはどうすればいいでしょうか?

echo strip_tags(file_get_contents("http://yaho.ocm"));

だと、Javascriptの部分が紛れ込んでしまいます。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2015/07/18 17:20:37
  • 終了:2015/07/23 19:42:28

ベストアンサー

id:dev2 No.1

LLマン回答回数67ベストアンサー獲得回数262015/07/18 21:26:08

ポイント50pt
<?php
// JavaScript / styleタグ除去

$html = '<style type="text/css">test1</style>test2<script type="text/javascript">test3</script>test4';

$html = preg_replace('!<script.*?>.*?</script.*?>!is', '', $html);
$html = preg_replace('!<style.*?>.*?</style.*?>!is', '', $html);

echo $html;
?>

上記がJavaScript(とCSS)のタグを除去するPHPコードのサンプルになります。
オンラインコードサービスですが、一応動作を確認しました。

その他の回答(1件)

id:dev2 No.1

LLマン回答回数67ベストアンサー獲得回数262015/07/18 21:26:08ここでベストアンサー

ポイント50pt
<?php
// JavaScript / styleタグ除去

$html = '<style type="text/css">test1</style>test2<script type="text/javascript">test3</script>test4';

$html = preg_replace('!<script.*?>.*?</script.*?>!is', '', $html);
$html = preg_replace('!<style.*?>.*?</style.*?>!is', '', $html);

echo $html;
?>

上記がJavaScript(とCSS)のタグを除去するPHPコードのサンプルになります。
オンラインコードサービスですが、一応動作を確認しました。

id:easygoings No.2

easygoings回答回数153ベストアンサー獲得回数202015/07/19 04:18:14

ポイント50pt
<?php
$html = file_get_contents("http://www.yahoo.co.jp/");
$html = preg_replace('!<script.*?>.*?</script.*?>!is', '', $html);
$html = preg_replace('!<style.*?>.*?</style.*?>!is', '', $html);
echo strip_tags($html);

javascriptやCSSに対応してない(除去している)ので、
当然ながら、javascriptやCSSに対応したブラウザと表示は変わってしまいますが。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません