2016-12-05 10 views
0

文字列を受け取り、ajax経由でPHPページに送信するJavascript関数があります。 PHPでは、この文字列をhtmlファイルのheadタグ(すでに存在する)の中に入れます。この変更は最終的なものでなければなりません。どうすればこのことができますか?私はPHPを介してHTMLコードを操作する方法を知らない。PHPを使用してファイルにHTMLコードを追加

+0

PHPでメタプログラミング(コードを書くコード)は恐ろしく、ほとんど常に本当に悪い考えです。これはおそらく[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)です。これを行うことで実際に何を達成しようとしていますか? – Chris

答えて

0
<?php 
$htmlpage = file_get_contents('http://example.com/index.html'); 
echo str_replace("<head>", "<head>New text", $htmlpage); 
//the result should be from <body></body> to <body>New Text</body> 
?> 

あなたはbodyタグの間のテキストを持っている場合は、varibale内の文字列を持っているか、あなたがしている場合も、あなたは

str_replace("<body>Old Text", "<body>New Text", $htmlpage)

に含めることができます$_POSTを使用して、"<head>New text"の代わりに"<head>".$_POST['thestring']

0

JSを使用できない場合は、if/elseステートメントを使用して、ajaxからタグまでのエコー文字列を使用してください。

+0

しかし、私はどのようにphpでheadタグ内のテキストを変更するのですか? :\ –

0

これを回避する方法の1つは、file_get_contentsを使用してから、修正されたコードで文字列を置き換えて、変更されたコードで変更を書き込むことです。

<?php 

$file = "myhtmlfile.html"; 
$original = file_get_contents($file); 

$needle = "<head>"; 
$new_content = "<head>\n".$_POST['header']; 


$replacement = str_replace($needle, $new_content, $original); 

file_put_contents($replacement, $file); 

?> 
+0

ありがとう!!非常に役立ちます –

関連する問題