• ベストアンサー

要素の抽出と埋め込み

PHP初心者です。 同一のファイル内で、特定のタグに囲われた箇所に、別のタグ内の要素を埋め込みたいと思っています。 具体的には、 <title>hoge ホゲ</title>のhogeの部分が、同ファイル内の <body id="hoge">のhogeの部分から持ってくるようにしたいのです。 なぜなら、複数のページで<head>内の記述をincludeで使いまわしていますが、<title>には、各ページで違う表記をしたいのです。 ここで、タイトルとして使えるユニークなIDは<body id="hoge">の部分となります。 http://oshiete1.goo.ne.jp/qa2481220.html に、似たような質問がありましたが、わたしには応用ができませんでした。 すいませんが分かる方、ヘルプよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • masa6272
  • ベストアンサー率66% (93/140)
回答No.2

$titleが書かれている場所がPHP処理の外だからです。 ----------------------- head.php ----------------------- <html> <head> <title><?php echo $title; ?>のホームページ</title> </head> ----------------------- hoge.php ----------------------- <html> <?php $title = "ほげ"; ?> <?php include( "head.php" ); ?> <body id="<?php echo $title; ?>">

sleepydogs
質問者

お礼

おお、できました! ありがとうございます。

その他の回答 (2)

  • oka5130
  • ベストアンサー率66% (35/53)
回答No.3

#1です。 すみません…、うっかりしてました。 #2の方の回答の通りです。

sleepydogs
質問者

お礼

いえいえ、ありがとうございます!

  • oka5130
  • ベストアンサー率66% (35/53)
回答No.1

idを使ってタイトルを書き換えるならJavaScriptになるんでしょうが、 ページを読み込んでからタイトルを書き換えるって微妙な感じになってしまいますね。 次のやり方の方が素直かなぁと思うのですが、idを指定しなければならない理由はありますか? ----------------------- header.php ----------------------- <html> <head> <title>$title</title> </head> ----------------------- hoge.php ----------------------- <?php $title = "ほげ"; include( "header.php" ); <body> ----------------------- fuga.php ----------------------- <?php $title = "ふが"; include( "header.php" ); <body> ...

sleepydogs
質問者

補足

回答ありがとうございます。 まず、JavaScriptについてですが、モバイルサイトでの利用も考えていますので、使用できないんです。 IDの指定ですが、CSSを使ってIDの判別し、今どこのページに居るかをナビゲーションに表示しているので必須となります。 さっそく、やってみました。 ----------------------- head.php ----------------------- <html> <head> <title>$titleのホームページ</title> </head> ----------------------- hoge.php ----------------------- <html> <?php $title = "ほげ"; ?> <?php include( "head.php" ); ?> <body id="$title"> しかし、残念ながらタイトルは「$titleのホームページ」、IDも「$title」のまま表示されてしまいました。 何がいけないのでしょうか。。。