用PHP替换HTML文件中的特定字符串
我的网站有点小问题。我想替换一个html文件中的字符串。我做了一个php文件,找到了特定的字符串并替换了它,但它变得毫无用处,成为字符串后改变是不一样的 在我的HTML文件中,我可以为PHP文件生成的任意随机字符串更改用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
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);