我有一个像这样的文件的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
}
}
?>
答案 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>
我希望它适合你。