Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP替换HTML文件中的特定字符串_Php_Html_String_Replace_Find - Fatal编程技术网

用PHP替换HTML文件中的特定字符串

用PHP替换HTML文件中的特定字符串,php,html,string,replace,find,Php,Html,String,Replace,Find,我的网站有点小问题。我想替换一个html文件中的字符串。我做了一个php文件,找到了特定的字符串并替换了它,但它变得毫无用处,成为字符串后改变是不一样的 在我的HTML文件中,我可以为PHP文件生成的任意随机字符串更改7NT0j5dB2QMyWv96nXIDgaR4PJ <tr> <td>Secret Key</td> <td><strong style="color:#b94a48;">7NT0j5dB2QMyWv96nXIDgaR4

我的网站有点小问题。我想替换一个html文件中的字符串。我做了一个php文件,找到了特定的字符串并替换了它,但它变得毫无用处,成为字符串后改变是不一样的

在我的HTML文件中,我可以为PHP文件生成的任意随机字符串更改
7NT0j5dB2QMyWv96nXIDgaR4PJ

<tr>
<td>Secret Key</td>
<td><strong style="color:#b94a48;">7NT0j5dB2QMyWv96nXIDgaR4PJ</strong></td>
</tr>

对我来说,这只是将函数调用从任何不直接位于step-second-test.php中的地方移动的问题

<tr>
<td>Secret Key</td>
<td><strong style="color:#b94a48;"><?php echo generateRandomString(26);
 ?></strong></td>
</tr>

密钥


只需确保您在此文件中也有函数定义,或者在具有函数定义的文件中有一个
include()

据我所知,您使用
step second test.php
作为随时间变化的静态文件。要处理您的问题,您可以将
step second test.php
转换为如下动态文件:

<tr>
<td>Secret Key</td>
<td><strong style="color:#b94a48;"><?php echo generateRandomString(26); ?></strong></td>
</tr>

如果你不懂正则表达式,我建议你学习和使用它们。正则表达式是很棒的东西。任何程序员都必须这样做。很高兴了解任何计算机用户。

为什么不直接在step-second-test.php中回显函数的结果?对我来说很有用可能问题出在
generateRandomString
,您没有包括它^。或者创建此html部分dynamically@u_mulderOP的要点是
文件内容(“stepsecond test.php”,$contents)更改文件,这意味着在第一次运行后它基本上是无用的。GeneratorDomainString($length=26)可能应该是GeneratorDomainString(26)。你也可以发布这个函数吗?@jamesbub如果你喜欢答案,别忘了向上投票和/或接受+1个来自美赞克斯·阿莱克!回答得也很好!:)仅供参考,这将替换
标记中的所有文本实例。对于上面给出的有限示例,这可能是好的,但在更大范围内,使用正则表达式解析HTML很少是可行的方法!再次感谢各位!
<tr>
<td>Secret Key</td>
<td><strong style="color:#b94a48;"><?php echo generateRandomString(26); ?></strong></td>
</tr>
$contents = file_get_contents ("step-second-test.php");

$pattern = '/(.*<strong.*>).*(<\/strong>.*)/i';
$replacement = '${1}' . generateRandomString($length = 26) . '${2}';
$contents = preg_replace($pattern, $replacement, $contents);

file_put_contents("step-second-test.php", $contents);