替换页面中的内容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;
答
制作使用的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 回声$缓冲区;
谢谢,它现在工作正常:) –