0

メタ タグ行を php で作成し、それらをページ内でエコーしたいと考えています。私は問題を抱えているようです。変数をエコーすると、他のメタタグのようにソースのみを表示するために含まれるのではなく、実際に画面上にエコーされます。

$ogmeta = '<meta property="og:type" content="Article" />';

それから私はちょうどやっていた

echo $ogmeta;

私も試しました

$ogmeta = htmlspecialchars('<meta property="og:type" content="Article" />');

画面にエコーするたびに:(

編集:

これが機能することがわかりました

$ogmeta = '<meta property="og:title" content="'.$title.'" />'; 
echo $ogmeta;

しかし、次のように $ogmeta に複数のエントリが必要です。

$ogmeta = '';
$ogmeta .= '<meta property="og:title" content="'.$title.'" />';
$ogmeta .= '<meta property="og:site_name" content="some site" />';
$ogmeta .= '<meta property="og:type" content="Article" />';
$ogmeta .= '<meta property="og:url" content="'.$which_article.'" />';

これをエコーし​​ようとすると、すべてが1行に表示されました。改行を追加しようとしましたが、うまくいきません。何か案は?

4

3 に答える 3

1

タグ<something>として扱いたい場合は、 andをand (タグの開始とタグの終了を表すHTML 文字) として表現し、 and (より小さいおよびより大きいの HTML エンティティ) として表現しません。<><>&lt;&gt;

$ogmeta = '<meta property="og:type" content="Article">';
于 2013-09-20T09:43:53.100 に答える
1

このようにすることもできます。タグ内にもPHPを挿入します。<meta>

<?php
$metaKeywords="books,cars,bikes";
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<title>SomePage</title>
<meta name="description" content="<?php echo 'somedescription' ?>"></meta>
<meta name="keywords" content="<?php echo $metaKeywords ?>"></meta>
</head>

編集:

解決策 1:を利用しますHEREDOC。かなり簡単です。

<?php
$metaTag=<<<EOD
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<title>SomePage</title>
<meta name="description" content="my description here"></meta>
<meta name="keywords" content="cars,bikes,books"></meta>
</head>
EOD;
echo $metaTag;
?>

解決策 2:内に変数を埋め込むこともできますHEREDOC

<?php
$metaDesc="this is new";
$metaKeywords="cars,bikes,thrills";
$metaTag=<<<EOD
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<title>SomePage</title>
<meta name="description" content=$metaDesc></meta>
<meta name="keywords" content=$metaKeywords></meta>
</head>
EOD;
echo $metaTag;//Don't forget to echo
?>
于 2013-09-20T09:44:33.940 に答える