PHPで順序の異なる文字列を強調表示する

vishal kumar

文字列を強調表示しようとしています。それらが順番に並んでいるかどうか。このような -

$str = "star 5 hotel";
$keywords = "5 star hotels";

私の機能があります。最後に一致した$str文字列のみが強調表示されます。ここには検索文字列が含まれています。$keywordデータベースに保存した文字列が含まれています

一致する各文字列を強調表示するにはどうすればよいですか。

    function highlight($str, $keyword) {
    
        $str = "star hotel 5";
        $keyword = "5 star hotel";
        
        foreach($look as $find){
            if(strpos($keyword, $find) !== false) {
                if(!isset($highlight)){ 
                    $highlight[] = $find;
                    
                } else { 
                    if(!in_array($find,$highlight)){ 
                        $highlight[] = $find;
                        
                    } 
                }
            }   
        } 

        

        if(isset($highlight)){ 
            foreach($highlight as $replace){
                $str = str_ireplace($replace,'<b>'.$replace.'</b>',$keyword);
                $stra[] = str_ireplace($replace,'<b>'.$replace.'</b>',$keyword);

                echo "<pre>";
                print_r ($stra);
                echo "</pre>";
            } 
        } 
        echo $str."<br>";
        die();
        return $str;

    }

しかし、これを配列に入れて、この配列を出力すると$stra[]それは私にこれを与えました

配列(

[0] => 5つ星ホテル

[1] => 5つ星ホテル

[2] => 5つ星ホテル

)。

これらを組み合わせる方法が見つかりません。

出力: -検索しているキーワードがある場合。次に、これを強調表示する必要があります。

5つ星ホテル

サービング検疫期間

これは私が仮定したものです:-

指定された文字列内の検索文字列の各単語を検索し、すべての単語が見つかった場合にのみ、文字列を太字(完全な文字列)にすることを想定しています。

次に、以下のようにします(コメントで説明されています):-

<?php

$search = "star 5 hotel"; //search string
$string = "5 star hotels"; // string in which you want to search

function highlight($search, $string) {

  $new_search = array_unique(array_filter(explode(" " ,$search)));//explode search string
  $found_count = 0; //create a counter
  foreach($new_search as $find){ // iterate over search words array
     if(strpos($string, $find) !== false) { // if word found in the string
        $found_count +=1; // increase the counter
     }
  }
  if(count($new_search) == $found_count){ //check that all words found in the string
     $string = "<b>". $string ."</b>"; // if yes then make each word of the string bold
  }

  return $string; //return the newly modified string
}

echo highlight($search, $string); // echo newly modified string

出力:-https://eval.in/838325

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

2つの文字列を比較し、異なる単語を強調表示します

分類Dev

文字列の配列から任意の順序ですべての用語を一致させて強調表示する方法は?

分類Dev

文字列の出現回数ごとに異なる色でセルを強調表示します

分類Dev

Python:文字列を異なる順序で比較する

分類Dev

PHPで文字列内のテキストを強調表示するには

分類Dev

Magentoで特定の文字列を強調表示する方法

分類Dev

非常に長い文字列の最初の異なる行を強調表示するにはどうすればよいですか?

分類Dev

Pythonで検索文字列を異なる順序で正規表現する方法

分類Dev

パンダで異なる色の複数のセルを強調表示する

分類Dev

文字列のリストを異なる順序で並べ替える方法は?

分類Dev

Java:文字列とキーワードを異なる順序で比較する

分類Dev

DataGridView:セルと行を異なる方法で強調表示する

分類Dev

2つの文字列が同じであるが順序が異なることを検出します

分類Dev

名前/値データの文字列をJSONで異なる順序で結合します

分類Dev

文字列の特定の位置でcharにタグを強調表示/追加する方法

分類Dev

PHPのutf8テキストで非utf8文字列を強調表示する方法は?

分類Dev

WinFormの文字列間の違いを強調表示する

分類Dev

異なる画面の列の順序を変更する

分類Dev

異なる画面の列の順序を変更する

分類Dev

UILabelで部分文字列を強調表示する

分類Dev

VIMで強調表示された文字列の長さをカウントする

分類Dev

JavaScriptで配列の順序を強制する

分類Dev

文字列内のテキストを強調表示する

分類Dev

同じ順序ではなく、異なる列に表示される重複する値を削除します

分類Dev

異なる列の2つの値が交互に来るかどうかを強調表示します

分類Dev

なぜルビーは文字列の配列をSQLの順序(postgres)とは異なる方法でソートするのですか?

分類Dev

さまざまな順序で文字列内の文字を検索する

分類Dev

2つの異なるシートの2つの列を比較し、違いを強調表示します

分類Dev

VIMで余分な空白と固定長の列を強調表示する

Related 関連記事

  1. 1

    2つの文字列を比較し、異なる単語を強調表示します

  2. 2

    文字列の配列から任意の順序ですべての用語を一致させて強調表示する方法は?

  3. 3

    文字列の出現回数ごとに異なる色でセルを強調表示します

  4. 4

    Python:文字列を異なる順序で比較する

  5. 5

    PHPで文字列内のテキストを強調表示するには

  6. 6

    Magentoで特定の文字列を強調表示する方法

  7. 7

    非常に長い文字列の最初の異なる行を強調表示するにはどうすればよいですか?

  8. 8

    Pythonで検索文字列を異なる順序で正規表現する方法

  9. 9

    パンダで異なる色の複数のセルを強調表示する

  10. 10

    文字列のリストを異なる順序で並べ替える方法は?

  11. 11

    Java:文字列とキーワードを異なる順序で比較する

  12. 12

    DataGridView:セルと行を異なる方法で強調表示する

  13. 13

    2つの文字列が同じであるが順序が異なることを検出します

  14. 14

    名前/値データの文字列をJSONで異なる順序で結合します

  15. 15

    文字列の特定の位置でcharにタグを強調表示/追加する方法

  16. 16

    PHPのutf8テキストで非utf8文字列を強調表示する方法は?

  17. 17

    WinFormの文字列間の違いを強調表示する

  18. 18

    異なる画面の列の順序を変更する

  19. 19

    異なる画面の列の順序を変更する

  20. 20

    UILabelで部分文字列を強調表示する

  21. 21

    VIMで強調表示された文字列の長さをカウントする

  22. 22

    JavaScriptで配列の順序を強制する

  23. 23

    文字列内のテキストを強調表示する

  24. 24

    同じ順序ではなく、異なる列に表示される重複する値を削除します

  25. 25

    異なる列の2つの値が交互に来るかどうかを強調表示します

  26. 26

    なぜルビーは文字列の配列をSQLの順序(postgres)とは異なる方法でソートするのですか?

  27. 27

    さまざまな順序で文字列内の文字を検索する

  28. 28

    2つの異なるシートの2つの列を比較し、違いを強調表示します

  29. 29

    VIMで余分な空白と固定長の列を強調表示する

ホットタグ

アーカイブ