我正在从类似的数据库中提取“健身”一词的个人资料:
$result = mysql_query("SELECT profile FROM ".$table." WHERE profile LIKE ('fitness')");
我正在对$profile
变量进行基本检索并回显它。
while($slice = mysql_fetch_assoc($result)) {
$profile = $slice['profile'];
echo $profile;
}
我想要的是在$profile
内搜索“健身”一词的方法,并使用CSS突出显示找到的单词。
任何想法如何?
更新
非常感谢Ty,我还有一个问题。在sql查询中,我将:
$result = mysql_query("SELECT profile FROM ".$table." WHERE $profile_rule");
$profile_rule = 'profile LIKE ('fitness') AND profile LIKE ('pets')';
有没有办法去跳过$ profile_rule **并获得单词健身和宠物?也许剥掉一些没有被''包围的东西?
泰
答案 0 :(得分:2)
function highlightWord($word, $text){
return str_replace($word, '<span class="highlighted">' . $word . '</span>', $text);
}
$profile = highlightWord('fitness', $profile);
编辑:根据您的更新,请查看IN()
运营商:
$result = mysql_query("SELECT profile FROM $table WHERE profile IN ('fitness','pets')");
编辑2 :我认为我误解了您的问题,但我仍然建议编辑1.如果您只想从fitness
和pets
中抓取$profile_rule
和preg_match_all("|[a-z]+(?=\'\)|","profile LIKE ('fitness') AND profile LIKE ('pets')", $profiles);
var_dump($profiles); // array(1) { [0]=> array(2) { [0]=> string(7) "fitness" [1]=> string(4) "pets" } }
1}}字符串,使用一些简单的正则表达式:
{{1}}
答案 1 :(得分:0)
$profile = str_replace("fitness", "<span style=\"color:red\">fitness</span>",
$slice["profile"]);