Php preg\u替换为文件\u获取\u内容

Php preg\u替换为文件\u获取\u内容,php,function,preg-replace,file-get-contents,Php,Function,Preg Replace,File Get Contents,我在这里看了几个问题,并做了谷歌搜索,但我似乎找不到正确的方法来做这件事 我正在使用这个函数 function replace_c($content){ global $db; $replacements = $db->query("SELECT * FROM `replacements`"); while($replace = $replacements->fetch_assoc()){ preg_replace("/".$replace['

我在这里看了几个问题,并做了谷歌搜索,但我似乎找不到正确的方法来做这件事

我正在使用这个函数

function replace_c($content){
    global $db;
    $replacements = $db->query("SELECT * FROM `replacements`");
    while($replace = $replacements->fetch_assoc()){
        preg_replace("/".$replace['triggers']."/i",$replace['php'], $content);
    }
    return $content;
}
这是我对函数的调用

$contents = replace_c(file_get_contents("templates/" . $settings['theme'] . "/header.html"));

它没有给出错误,只是没有像应该的那样替换文本,所以我不确定函数是否实际工作。我确实尝试了
preg\u replace\u callback
,但我不认为我完全理解它的工作原理,只产生了错误,我是否必须执行回调路径,或者我只是缺少了当前函数中的某些内容?

您从未将
preg\u replace
的返回值分配给
$content
。。。。您需要的是:

$content = preg_replace("/".$replace['triggers']."/i",$replace['php'], $content);

您从未将
preg\u replace
的返回值分配给
$content
。。。。您需要的是:

$content = preg_replace("/".$replace['triggers']."/i",$replace['php'], $content);

您需要将替换的内容存储回变量

$content = preg_replace(...);

另外,您确定一个
str_replace()
不够吗?

您需要将替换的内容存储回变量

$content = preg_replace(...);
另外,您确定一个str_replace()还不够吗?

Kira

preg_Replace函数返回被替换的字符串。您发布到其中的$content主题将不会作为参考更新。因此,尝试将代码更改为

$content = preg_replace("/".$replace['triggers']."/i",$replace['php'], $content);
基拉

preg_Replace函数返回被替换的字符串。您发布到其中的$content主题将不会作为参考更新。因此,尝试将代码更改为

$content = preg_replace("/".$replace['triggers']."/i",$replace['php'], $content);

哈哈,人都快了。Thiefmaster也有同样的答案我觉得自己是个白痴,看得太多了,现在效果很好,抱歉问了这么愚蠢的问题伙计们!没有问题是愚蠢的。有些比其他更容易回答。很高兴听到你现在开始工作了!哈哈,人都快了。Thiefmaster也有同样的答案我觉得自己是个白痴,看得太多了,现在效果很好,抱歉问了这么愚蠢的问题伙计们!没有问题是愚蠢的。有些比其他更容易回答。很高兴听到你现在开始工作了!