sql >> データベース >  >> RDS >> Mysql

検索結果を強調表示する方法

    あなたは自分自身のためにそれをあまり難しくするべきではありません。必要なすべての単語を、必要なスタイルが適用されたスパンでラップされた単語に置き換えるために必要です。これはあなたのために働くはずです:

    function highlight_word( $content, $word, $color ) {
        $replace = '<span style="background-color: ' . $color . ';">' . $word . '</span>'; // create replacement
        $content = str_replace( $word, $replace, $content ); // replace content
    
        return $content; // return highlighted data
    }
    
    function highlight_words( $content, $words, $colors ) {
        $color_index = 0; // index of color (assuming it's an array)
    
        // loop through words
        foreach( $words as $word ) {
            $content = highlight_word( $content, $word, $colors[$color_index] ); // highlight word
            $color_index = ( $color_index + 1 ) % count( $colors ); // get next color index
        }
    
        return $content; // return highlighted data
    }
    
    
    
    // words to find
    $words = array(
        'normal',
        'text'
    );
    
    // colors to use
    $colors = array(
        '#88ccff',
        '#cc88ff'
    );
    
    // faking your results_text
    $results_text = array(
        array(
            'ab'    => 'AB #1',
            'cd'    => 'Some normal text with normal words isn\'t abnormal at all'
        ), array(
            'ab'    => 'AB #2',
            'cd'    => 'This is another text containing very normal content'
        )
    );
    
    // loop through results (assuming $output1 is true)
    foreach( $results_text as $result ) {
        $result['cd'] = highlight_words( $result['cd'], $words, $colors );
    
        echo '<fieldset><p>ab: ' . $result['ab'] . '<br />cd: ' . $result['cd'] . '</p></fieldset>';
    }
    

    str_replace()を使用していても、正規表現を使用してコンテンツを置き換えることもできます。 少し速いです。

    関数はこれらの引数を受け入れます:

    highlight_word( string, string, string );

    highlight_words( string, array, array );

    上記の例の結果は次のとおりです。



    1. EntityFramework-1対1-ReferentialConstraintはストアで生成された列にマップされます

    2. mySQLの専門家-「交差する」の助けが必要

    3. postgresqlの動的アップサート

    4. phpを使用してmysqlの複数の行を挿入します