現在のページ タイトルを PHP 変数に格納しようとしていますが、ページ タイトルを取得しようとするとサーバーがハングします。
ページタイトル():
function page_title($url) {
$fp = file_get_contents($url);
if (!$fp)
return null;
$res = preg_match("/<title>(.*)<\/title>/siU", $fp, $title_matches);
if (!$res)
return null;
$title = preg_replace('/\bReactionDB\b/i',' ', $title_matches[1]);
$title = preg_replace('/\|/', '', $title);
$title = trim($title);
return $title;
}
curPageURL():
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
page_title();
あきらめる前に 10 ~ 20 秒間実行しようとすると、サーバーがハングします。
$domene = curPageURL();
$pagetitle = page_title($domene);
page_title();
まったく機能するかどうかをテストしました。外部 URL を入力すると、問題なくページのページ タイトルが表示されますが、現在のページ/URL のページ タイトルを取得する必要があります。
の出力もテストしましたcurPageURL();
が、現在の Web ページの完全な URL が取得されます。
これに対する解決策がある場合は、取得したページ タイトルを PHP 変数 ( ) に格納する機能を含める必要があります$pagetitle
。