BUSINESS TIPS発注担当者の方へ、発注成功の為のお役立ち情報

ユーザーが検索したキーワードをハイライト表示してUIを改善させる。

目次

ユーザーが検索したキーワードをハイライト表示してUIを改善させる。

検索文字のハイライト

ページ検索などで検索したテキストの背景がハイライト(着色、リンク化など)されているページを見たことはないでしょうか? 簡単そうに見えて、実は複雑なロジックが組み込まれています。 真っ先に思い浮かぶ方法は、検索された文字列を本文から検索して、対応する箇所を置換するだけだと思います。 しかし、実はそうではありません。 例えば、 --- ログ 開発 プログラミング プログラミング開発 --- 上記4つのワードで検索されていたとします。 そうすると、ハイライトしたい文章で「ログ」「開発」 「プログラミング」プログラミング開発」が含まれていたとしたら、 置換だけでは正常にハイライトを行うことができません。 例えば「ログ」をハイライトの対象とすると「プ「ログ」ラミング」、「プ「ログ」ラミング開発」のようにマッチしてしまい、実現したいハイライト表示は行えません。 では、文字列が長い(文字量が多い)ものから順番に処理すればいいのではないかというと、そうではありません。 「プログラミング開発」は正常にハイライトできますが、次の「プログラミング」を置換する際に、 同じ文字列に対してハイライト処理を行ってしまいます。そして次々に「ログ」や「開発」がマッチしてしまいます。 一度マッチした文字列は除外するように条件分岐をす必要がありそうです。 さらに、この単語が複数出現する場合、マッチしないような条件分岐の条件がさらに複雑になります。

プログラムを組む

今回の場合は、下記のような手順でプログラムを組むことにより、正常にハイライトを行うことができます。 1) 全単語を取得する 2) 全単語の出現位置を記憶する(=メモリ上に格納する) 3) 文字列の長さが長い順にソートする 4) 単語の出現位置+単語の文字列の長さの範囲を計算する 5) 上記の範囲に単語の出現位置が含まれており、かつ対象の単語より文字列の長さが   短いものを除外する (二重ハイライトにしないため) 6) 出現開始位置より手前の文字列と対象の文字列を文字列結合する 7) 1)〜6)上記をハイライトが終わるまで(ハイライト対象の文字列の終点まで)繰り返す 8) 最後に残った文字列を結合する 日本語で書くと手順は上記の通りとなります。 利用するプログラム言語によって実装方法は異なりますが、単語の出現位置を for文で一字一句探すコードを書かなければならない場合や、文字列の長さでのソートが デフォルト関数として備わっていない場合などを考えると更に手順が長くなることも考えられます。

検索された文字列を自然にハイライトさせるために

自然言語処理などでは、パフォーマンスを高めるために様々な研究が行われています。 検索された文字列が、名詞なのか人名なのかなど自然言語処理を取り入れることで、より自然にハイライトを行うことが出来るでしょう。

ソフトウェア・業務システム開発依頼先探しなら、
リカイゼンにおまかせください!

相談するだけ!プロがあなたにぴったりの会社をご紹介いたします!

かんたん3ステップ
お急ぎの方はお電話で 03-6427-5422
受付時間:平日10:00〜18:30

ソフトウェア・業務システム開発依頼先探しでこんなお悩みはありませんか?

お悩み
  • 会社の選び方がわからない
  • 何社も問い合わせるのが面倒くさい
  • そもそも依頼方法がわからない
  • 予算内で対応できる会社を見つけたい

発注サポート経験豊富な専任スタッフが
あなたのご要望をお聞きし、最適な会社をご紹介いたします!
ご相談から会社のご紹介まで全て無料でご利用いただけます。
お気軽にご相談ください!

ソフトウェア・業務システム開発依頼先探しなら
リカイゼンにおまかせください!

相談するだけ!プロがあなたにぴったりの会社を無料でご紹介いたします!

サポートデスク

まずはご質問・ご相談なども歓迎!
お気軽にご連絡ください。

ソフトウェア・業務システム開発の関連記事

トークンエコノミーとは?基本知識と今後の可能性

トークンエコノミーとは?基本知識と今後の可能性

この1、2年でよく耳にする「トークンエコノミー」というキーワード。何となくはわかるけれど、トークンエコノミーとは何ですか?と聞かれて明確に答えられる人はそこまで多くないのではないでしょうか。 そもそもトークンエコノミーと...

SmartHRとは?|詳細や評判などを解説!

SmartHRとは?|詳細や評判などを解説!

労務管理は、直接的に売上に直結する業務ではないため、企業によってはどうしてもITによる効率化が後回しにされるケースがあります。 ただ、実際のところ労務管理の業務は非常に手間がかかることが多く、社員の人件費や消耗品などで余計...

猫でもわかるビットコイン

猫でもわかるビットコイン

■猫でもわかるビットコインみなさん『ビットコイン』に興味ありますか?なんとなく聞いたことがある、ネットの記事で見た、少額保有している、などなどひと昔に比べるとだいぶ認知されてきた様に感じます。ここ最近ビットコインが再燃してお...

7.WEBシステムのデメリットとAccess/Excelとの違い

7.WEBシステムのデメリットとAccess/Excelとの違い

弊社のお客様でマイクロソフトのAccessを使った業務システムを使って、社外から利用できなくて困っているというお話をいただくことがあります。今では、Excelにはオンライン版というものがあり、無料で使うことが出来るので、マク...

6.Excelをウェブで管理するには

6.Excelをウェブで管理するには

リモートワークが普及するにつれ、弊社にも、リモートワークに対応したシステム開発の話をいただくようになりました。エクセルをウェブで管理したいなどといった用途は多いのではないでしょうか。このような用途では、サイボウズkinton...

記事を探す

キーワードで探す

カテゴリーで探す

完全無料ご相談はこちらから!

発注先探しのご依頼のほか、ご質問・ご相談などもお気軽にお問い合わせください。

お電話でのご相談

03-6427-5422 受付時間:平日10:00〜18:30

WEBでのご相談申し込み

WEBお申し込み後、即日または翌営業日に
サポートデスクからご連絡をさせていただきます。

ご利用の流れ
必須お名前
必須メールアドレス
任意電話番号
任意依頼内容・希望
利用規約及び、個人情報保護方針にご同意のうえ、送信ください。

申し込み完了後、サポートデスクから
お電話またはメールにてご連絡させていただきます。

本サイトは、reCAPTCHAとGoogleにより保護されています。(プライバシーポリシー利用規約)
13年のマッチング実績。完全無料0円!