在变量内搜索某个术语,php

时间:2012-05-25 23:59:27

标签: php

  1. 我正在从类似的数据库中提取“健身”一词的个人资料:

    $result = mysql_query("SELECT profile FROM ".$table." WHERE profile LIKE ('fitness')");
    
  2. 我正在对$profile变量进行基本检索并回显它。

    while($slice = mysql_fetch_assoc($result)) {
        $profile = $slice['profile'];
        echo $profile;
    }
    
  3. 我想要的是在$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 **并获得单词健身和宠物?也许剥掉一些没有被''包围的东西?

2 个答案:

答案 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.如果您只想从fitnesspets中抓取$profile_rulepreg_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"]);