2012-02-11 21 views
2

PHPを使用して、いくつかのjavascriptコマンドを含む既存のhtmlファイルにメタタグを挿入しようとしています。私が解決しようとしている全体的な問題は、Facebook用のオープングラフのメタタグを、JavaScriptで書かれたアプリケーションで呼び出されるファイルに取得することです。PHPを使用して静的なHTMLページを読み込み、メタタグを追加してから変更したページを読み込みます。

PHPを使用して、私はindex.htmlファイルを読み込み、タグを見つけて、メタタグを挿入して、修正したファイルをエコーし​​ました。問題は、変更されたファイルが常にheadタグを次のように表示して終了し、追加したタグをスキップしてファイルの下に置くことです。彼らは毎回異なる可能性があるため

<head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head> 

index.htmlファイルは、いくつかの異なるページのために再利用されますjavascriptの一つは、私はちょうどそれに完成タグを入れることはできません。

<head>タグの後ろに6つの異なるメタオグと1つのfbタグを挿入するにはどうすればよいですか?

+1

HTML/XMLパーサーを試しましたか?仕事のための完璧なツールのようだ。 –

+0

HTMLパーサを試しました。私がFacebookのObject Debuggerを通してそれを実行するまで、私はそれを持っていたと思った。それでも、 のような行が表示され、変更されたhtmlのセクションは<の先頭に> < meta http-equiv = "Content-Type" 実際の<>文字を使用するヘッダーセクションとHTMLエンティティを使用するヘッダーセクションが2つあります。 これは私を夢中にしています! – MarkK

答えて

1

あなたのPHPファイルで、変数を指定してください。

$file = file_get_contents('index.html');  
$str = '<meta /></head>';  
$file = str_replace('</head>', $str, $file); 
echo $file; 

:あなたのPHPファイルは、それが簡単で、その後bodyタグが含まれている場合

$var=$randomarray[0][pagetitle]; 

がちょうど行うヘッド出力

<meta property="og:title" content="<?php echo"$var";?>" /> 
+0

文字を検索しようとしましたが、マーカーのコメントを挿入して検索して置換しようとしましたが、PHPは元のindex.htmlファイルから読み取ったテキストをメタタグを挿入するために変更しています。これは、写真家のギャラリーソフトウェアパッケージから数年前からあり、javascriptで書かれています。 – MarkK

+0

あなたのスクリプトは常に静的なHTMLページを更新しています。あなたは、htmlページを書いているファイルを見つけてそこの値を変更する必要があります。その値は変更されるたびに正しくhtmlファイルを更新します。 – JimmyBanks

+0

いいえ、index.htmlは100%の静的ページですが、URL行の変数によって、さまざまなJavascriptアクションが発生します。 Index.htmlはJAlbumまたはPhoyoshopで生成されます。 Facebookのようなボタンがクリックされたギャラリーの何百ものイメージページのどれに応じて動的にメタタグを追加する必要があります。すべてが静的なindex.htmlファイルから始まります。だから私はこのセットのタグが必要です。次回は異なるタグが必要です。 – MarkK

0

にそれを挿入します。例として、何でもかまいません$ strをあなたの予想されるhtmlに置き換えてください。末尾に "</head>"を必ず付け加えてください。

+0

PHPファイルではなく、既存のindex.htmlファイルで始まります。私はfile_get_contents( 'index.html')を試してからを検索し、メタタグを挿入してファイルをエコーし​​ますが、結果は上記の行で終わり、私のメタタグはファイル内の行。ファイルを読み込んでエコーするだけでも、オリジナルのhtmlファイルから構造体が変更されます()。 – MarkK

+0

を検索しないでください。タグを検索してください。あなたのシナリオに対する答えが更新されます。 – Shaheer

+0

index.htmlにはタグが含まれていますが、タグはありません。 タグはタグの後に相当するため、セクションの外側にメタタグを置くと、正しく機能しなくなります。私はそれがこの単純なはずだと思ったが、そうではない。私はタグを検索し、それを(余分なテキスト)と置き換えることにするべきだと思った。 – MarkK

関連する問題