替换页面中的内容php

问题描述:

我有一些禁止的词,比存储在数据库中。替换页面中的内容php

我需要做的事情是用一个新的授权字代替它们。

我做类似的东西

//Inclusion du fichier à parser 
require_once GETCASH_BASE_PATH . '/GESTION/pages_html/index.phtml'; // Layout principal 
//Récupération du contenu 
$buffer = ob_get_clean(); 


//Modification du contenu 
$mots_interdits = censure(); 
while ($censure = mysql_fetch_assoc($mots_interdits)): 
    $new = str_replace($censure['mot'], $censure['mot2'], $buffer); 
endwhile; 
//On affiche le nouveau contenu 
echo $new; 

功能坐落在一个其他的文件

/** 
* fonction qui requete la censure 
* @return type 
*/ 
function censure() { 
    $query = "SELECT `mot`, `mot2` FROM `censure`"; 
    $result = mysql_query($query); 
    return $result; 
} 

麻烦的我已经是它仅更换一个禁止的话,我希望它可以代替所有话。

anykind的帮助将不胜感激。

你后得到$新值缓冲区每个str_replace,或者你只会得到最后的最后一次审查

while ($censure = mysql_fetch_assoc($mots_interdits)): 
    $new = str_replace($censure['mot'], $censure['mot2'], $buffer); 
    $buffer = $new 
endwhile; 
+0

谢谢,它现在工作正常:) –

制作使用的preg_replace()的替代str_replace()函数,

preg_replace($censure['mot'], $censure['mot2'], $buffer, 1); 

您可以用文字的排列也:

$phrase = "You should eat fruits, vegetables, and fiber every day."; 
$healthy = array("fruits", "vegetables", "fiber"); 
$yummy = array("pizza", "beer", "ice cream"); 

$newphrase = str_replace($healthy, $yummy, $phrase); 

你的str_replace函数是usin g $ buffer作为输入,它不会修改它。您需要确保您的循环迭代,您正在使用当前已修改的字符串作为str_replace函数的输入。尝试是这样的:

$mots_interdits = censure(); 
while ($censure = mysql_fetch_assoc($mots_interdits)): 
    $buffer = str_replace($censure['mot'], $censure['mot2'], $buffer); 
endwhile; 

//在网站公告乐暴发户contenu 回声$缓冲区;