我正在尝试在文本中使某个字符串变为粗体。我浏览了我的 php 书并在网上查看,但没有解决方案可以解决我的问题。变量$mapname
和$post_title
变化是因为它们处于一个while循环中,可以很好地替换某些字符,例如这个:
$data_p = "SELECT * FROM posts WHERE verified='yes' ORDER BY (posvotes - negvotes) DESC $max";
$exec_p = $mysqli->query($data_p);
while($row = $exec_p->fetch_object())
{
$post_id = $row->post_id;
$maps = "SELECT name FROM maps WHERE id='$post_id'";
$getmaps = $mysqli->query($maps);
$mapname = $getmaps->fetch_object();
$post_title = preg_replace('/(Free )/',"<b>\\0</b>", $post_title);
但是当我尝试替换字符串时
$post_title = str_replace($mapname,'<b>'.$mapname.'</b>', $post_title);
我根本没有得到任何输出。关于我做错了什么的任何想法?当我禁用str_replace
var_dump 变量时,我总是得到正确的变量。
我在网上浏览了解决方案,该str_replace
功能应该按照手册工作。