如何更改PHP代码动态生成的HTML页面标题

如何更改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

我的PHP代码从495个txt文件生成495个HTML页面,并且工作正常。但现在,我正试图改变它,作为动态改变title标签值的一种方式;因此,我尝试将
%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,因为我回答了下面我自己的问题,谢谢。