我的 PHP 代码从 495 个 txt 文件生成 495 个 HTML 页面并且工作正常。但现在,我正在尝试将其更改为动态更改标题标签值的方法;所以我试图用 $Oneline
替换 %TITLE%
,这是每个 txt 页面的第一行。
我尝试了很多语法,例如 prg_replace
、str_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 );
...?>
最佳答案
请看一下preg_replace()
,参数为
preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
在您的代码中,您使用变量 $title
来替换 $newTitle
中的模式,限制为 1。我认为您想替换目标文件中的文本。
更新: 我现在想到的解决方案有两种:
- 不要将文本直接写入文件,而是将其写入
而是一个变量。该变量可以通过以下方式搜索
preg_replace()
并且您可以动态更改标题。后 你完成了,将变量写入目标文件,例如fputs()
。 - 在编写标题部分时,不要替换标题,而是直接在需要的地方设置标题。这样就不需要更换了。
我会推荐解决方案一。你知道怎么做吗?
关于php - 如何更改PHP代码动态生成的HTML页面标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39228296/