php替换文件html中的两个标签

时间:2014-01-03 19:32:40

标签: php html

我有一个像这样的文件的file.html

<h1 id="content1">Hello!</h1>

我有一个这样的表格

<form method="POST"><textarea name="content1"></textarea></form>

并确认此下方的按钮。 我需要的是将html文件中的标签之间的文本替换为表单中的文本。 我已经得到的代码:

<? if ( isset ($_POST['submit']) ) 
{
$handle = fopen("file.html", "c+");
if ($handle)
 {
 if (isset($_POST['content1'])
 {
   stream_get_line($handle, 4096, '"content1">');
   $stringtoreplace = stream_get_line($handle, 4096, '</h1>');
   *INSERT REPLACEMENT CODE HERE*
 }
 fclose($handle);
 }
}
?>

请帮助...


知道了!谢谢大家的答案。有工作代码:

<?if ( isset ($_POST['submit']) ) 
{
$handle = fopen("file.html", "c+");
if ($handle)
 if ( isset ($_POST['content1']) ) 
 {
 stream_get_line($handle, 4096, '"content1">');
 $stringtoreplace=stream_get_line($handle, 4096, '</h1>');
 fclose($handle); //getting string between <h1 id="content1"> and </h1>
 $file = 'file.html';
 $contents = file_get_contents($file);
 $contents = str_replace($stringtoreplace,$_POST['content1'],$contents);
 file_put_contents($file,$contents); //rewriting file with new string
 }
}
?>

3 个答案:

答案 0 :(得分:0)

为什么不使用PHP而不是简单的html文件?

//file.php
<h1 id="content1"><?php echo $content1 ?></h1>

//main.php
<?php
if (isset($_POST['content1']) {
  $content1 = $_POST['content1'];
  include 'file.php';
}

答案 1 :(得分:0)

从php中使用str_replace

 if (isset($_POST['content1'])
 {
   stream_get_line($handle, 4096, '"content1">');
   $stringtoreplace = stream_get_line($handle, 4096, '</h1>');
   $string = str_replace($stringtoreplace, $_POST['content1'], fread($link, filesize('file.html')));
 }

答案 2 :(得分:0)

对我来说,这似乎很好:

<?php if ( isset ($_POST) ) 
{
    $find = $_POST['find'];
    $replace = $_POST['replace'];
    $file = 'test.txt';
    $contents = file_get_contents($file);
    $contents = str_replace($find,$replace,$contents);
    file_put_contents($file,$contents);
}
?>

<form method="POST" action="index.php">
    <input name="find" placeholder="Path to find" value="">
    <input name="replace" placeholder="Path to replace" value="">
    <input type="submit" value="Go">
</form>

我希望它适合你。