如何更改PHP代码动态生成的HTML页面标题
我的PHP代码从495个txt文件生成495个HTML页面,并且工作正常。但现在,我正试图改变它,作为动态改变title标签值的一种方式;因此,我尝试将如何更改PHP代码动态生成的HTML页面标题,php,Php,我的PHP代码从495个txt文件生成495个HTML页面,并且工作正常。但现在,我正试图改变它,作为动态改变title标签值的一种方式;因此,我尝试将%TITLE%替换为$Oneline,这是每个txt页面的第一行 我尝试过很多语法,比如prg\u replace,str\u replace,还有更多的语法似乎都不成功。事实上,这些代码行对我的HTML页面没有任何改变 更清楚地说: 正在尝试将%TITLE%替换为$Oneline $Oneline是txt文件的第一行 谢谢你的帮助 <?p
%TITLE%
替换为$Oneline
,这是每个txt页面的第一行
我尝试过很多语法,比如prg\u replace
,str\u replace
,还有更多的语法似乎都不成功。事实上,这些代码行对我的HTML页面没有任何改变
更清楚地说:
%TITLE%
替换为$Oneline
$Oneline
是txt文件的第一行<?php
for ($i = 1; $i <= 495; $i++)
{$j = 1;
$SousrceFile = @fopen($SousrceFile, 'r') ;
$TargetFile = fopen($TargetFile, 'w+') ;
fwrite($TargetFile, "<title>%TITLE%</title>\n");
while ($Oneline = @fgets($SousrceFile, 4096))
{$j = $j + 1;
if (strlen($Oneline) !==0)
{
$title = $Oneline;
$newTitle = preg_replace('%TITLE%', $title, $newTitle,1 );
...?>
据我所知,$newTitle在pre_replace之前没有定义。请查看preg_replace()
,参数是
preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
在代码中,您使用变量$title
将$newTitle
中的模式替换为一个限制。我想您应该替换目标文件中的文本
更新:
我现在想到了两个解决方案:
preg\u replace()
您可以动态更改标题。之后
完成此操作后,通过以下方式将变量写入target文件:。
fputs()
我推荐解决方案一。你知道怎么做吗?在我解决不了这个问题后,我将检索数据循环移动到
标题的上方,并使其变得非常简单,如下所示:
<?php
for ($i = 1; $i <= 495; $i++)
{$j = 1;
$SousrceFile = @fopen($SousrceFile, 'r');
$TargetFile = fopen($TargetFile, 'w+');
while ($Oneline = @fgets($SousrceFile, 4096))
{$j = $j + 1;
if (strlen($Oneline) !==0)
$title = $Oneline;
fwrite($TargetFile, "<title>{$title}</title>\n");
...?>
试试这个@KarthiVenture,我已经试过了,可能是因为我不是用PHP生成的头文件,它不是那样工作的。你能在获取值时回显你的代码吗/not?是的,我回显了,结果是所有行的txt文件。我想问题是从txt文件中检索数据。您只需使用get value进行测试,并在不使用文件概念的情况下应用于title。是的,它正在生成目标文件,我正在尝试在目标文件上动态设置title。因此,您自己说,您必须更改目标文件中的行,或者更好,然后再将数据写入目标文件。正如我所说的,PHP文件正在创建,生成内容并将其写入HTML文件(主要不存在的目标文件),因此我无法对目标文件执行任何操作。是的,最好是动态地将标题写入目标文件,这就是我正在尝试做的,但失败了。我已经完成了解决方案2,因为我回答了下面我自己的问题,谢谢。