【PHP】HTMLを丸ごとしか取得出来ない場合のコード編集方法 / file_get_contents();とpreg_replace_callback();を使ってaタグなどを代入する

コード

<?php

$html = file_get_contents('取得したいサイトのURL');

$html = preg_replace_callback('|</body>|i', static function($match) {
    return "<a></a>" . $match[0]; 
}, $html);

echo $html;

コード解説

  1. file_get_contents();でサイトを取得
  2. preg_replace_callback();を使って、</body>の直前に<a></a>を代入
  3. 最後にecho $html;で変数を出力しています。

検証モードで見てみる

今回は試しに「取得したいサイトのURL」を「https://www.google.com/」として実行してみます。検証モードでどのようになっているか見てみます。

 

</body>タグの直前に<a></a>を表示させる予定でしたが、このように</body>の前に<a></a>を入力することが出来ました。

 

最後に

この方法は、あくまでも本来のやり方が使えなかった場合の手段として用いるべきだと思います。計画的にご利用ください。

 

最終学歴高卒。実務未経験から自社開発&受託開発をしている企業に入社した、入社1年目のエンジニア。20代前半。
WordPress・PHP / Laravel・JavaScript

ひろきをフォローする

コメント

タイトルとURLをコピーしました