ページタイトルを一括管理したい
CMSを使わない状況で、ページ数が多くあるためにmetaタグ等を一括管理できればと思い、まずはページタイトルだけでもと下記ページのソースを使用してみました。
http://webdrawer.net/php/phptitle.html
発生している問題
ソースを確認してみるときちんと読み込まれているんですが、下層ページに進むとサイトタイトルのみ表示されていました。ただ、配列の最後に書いたページはページ名とサイトタイトルが読み込まれています。
該当のソースコード
php
1<?php 2 //URLを取得 3 $url = $_SERVER["REQUEST_URI"]; 4 //サイト名を入れる 5 $defaultTitle = "サイトタイトル"; 6 //タイトル登録箇所。タイトルが「ぺーじ名|サイト名」になるようにしています。 7 $titleName = array( 8 '/' => $defaultTitle, 9 '/archive/' => '記事一覧' . '|' . $defaultTitle, 10 "/company/outline.php" => '会社概要' . '|' . $defaultTitle, 11 '/sns.php' => '各SNS' . '|' . $defaultTitle, 12 ); 13 //index.htmlでも/終わりでも対応 14 if(preg_match('/index.php/',$url)){ 15 $url = str_replace("index.php","",$url); 16 } 17 //URLと登録してるタイトルで一致するものをさがす。 18 foreach ($titleName as $key => $value){ 19 if($url === $key){ 20 $titleTxt = $value; 21 }else { 22 $titleTxt = $defaultTitle; 23 } 24 } 25 //表示 26 echo '<title>' . $titleTxt . '</title>'; 27?>
試したこと
- URLが取得できていないのかと思い、$_SERVER["REQUEST_URI"]の吐き出すものを確認したらURLは正しいものでした。
- コピー元のソースはhtmlを使用する形でしたが、私の方はphpでしたので、index.htmlという記述はindex.phpに変更しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/26 06:50