0
  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;
    }
    

私が欲しいのは、内部のテキストで$profile「フィットネス」という単語を検索し、CSSを使用して見つかった単語を強調表示する方法です。

どのようにアイデアはありますか?

アップデート:

非常にタイです、そして私はもう一つ問題があります。

SQLクエリでは次のようになります。

$result = mysql_query("SELECT profile FROM ".$table." WHERE $profile_rule");

$profile_rule = 'profile LIKE ('fitness') AND profile LIKE ('pets')';

$ profile_rule **を削除して、フィットネスとペットという言葉だけを取得する方法はありますか?たぶん、''で囲まれていないものをすべて取り除きますか?

Ty

4

2 に答える 2

2
function highlightWord($word, $text){
    return str_replace($word, '<span class="highlighted">' . $word . '</span>', $text);
}

$profile = highlightWord('fitness', $profile);

EDIT:更新ごとに、IN()オペレーターを見てください:

$result = mysql_query("SELECT profile FROM $table WHERE profile IN ('fitness','pets')");

EDIT 2fitness :私はあなたの質問を誤解していると思いますが、それでも編集1をお勧めします.単語を取得したいだけで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" } }
于 2012-05-26T00:06:00.883 に答える
0
$profile = str_replace("fitness", "<span style=\"color:red\">fitness</span>",
           $slice["profile"]);
于 2012-05-26T00:02:31.790 に答える