私は自分のウェブサイトに公開される電子書籍に取り組んでいます。 OSXスポットライト機能を模倣して、誰かが自分の固定検索バーを使用してテキストを入力し、そのテキストをページ上で強調表示したいと思っています。私はSphiderを使用しようとしていましたが、この結果を得るにはそのような運がありません。PHPで "スポットライト検索"を作成する
•found this類似のスレッドですが、正確には私が探しているものではありません。
私は自分のウェブサイトに公開される電子書籍に取り組んでいます。 OSXスポットライト機能を模倣して、誰かが自分の固定検索バーを使用してテキストを入力し、そのテキストをページ上で強調表示したいと思っています。私はSphiderを使用しようとしていましたが、この結果を得るにはそのような運がありません。PHPで "スポットライト検索"を作成する
•found this類似のスレッドですが、正確には私が探しているものではありません。
スパンタグでハイライト表示する必要があるすべてのテキストを囲むために、文字列置換を使用できます。次に、そのspanタグのCSSクラスを作成します。
<?php
$searchString = $_POST['search'];
$EBOOK = str_replace($searchString, "<span class='highlighted'>$searchString</span>", $EBOOK);
その後、いくつかのCSS
.highlighted {
background-color:yellow;
}
あなたがspan.highlightedの最初の場所にユーザのWebブラウザをスクロールするためにJavaScriptを使用することができ、次のステップにそれを取るために。
注意ユーザーの検索入力にエスケープする必要のある正規表現で使用される特殊文字が含まれている可能性があるため、検索文字列値(つまりpreg_replace)を置き換える正規表現は使用しません。
これはもちろん理論的なものです...あなたの質問に基づいています。
編集:EbookのコンテンツにはHTMLタグが含まれているので、私が示唆したような文字列置換機能を使用する場合は、タグを検索して置き換えないように注意してください。この場合、正規表現の置換が必要な場合があります。
はい、これは私が探していたものです。私はハイライトされたテキストの範囲が必要だと知っていましたが、その作業をどうするかについてのアイデアは実際にはありませんでした。あなたの意見では、PHPはこれを達成するための最良の言語ですか? – ryanSrich
私はPhpを仮定しました。なぜなら、それがタグ付けされている言語なのですから。任意のサーバー側の言語を使用して、このタスクまたはクライアント側のJavaScriptを達成することができます。あなたのウェブサイトがどのようにプログラムされているかによっても異なります。あなたの状況を評価するための助けが必要な場合は、私にメールを送ってください。乾杯:) –
だから、誰かにあなたのために書いて欲しいのですか? –
Nope。ちょっとした助けとヒント。コメントありがとう。 – ryanSrich