2012-03-28 106 views
0

我正在製作將發佈到我的網站上的電子書。我想模仿OSX聚光燈功能,其中有人可以使用我的固定搜索欄並輸入文本,然後在頁面上爲它們突出顯示。我試圖使用Sphider,但沒有這樣的運氣得到這個結果。在PHP中創建「聚光燈搜索」

•找到this類似的線程,但不完全是我在找的東西。

+2

所以,你想讓別人爲你寫嗎? – 2012-03-28 02:55:39

+0

不是。只是一些幫助和提示。感謝您的評論。 – ryanSrich 2012-03-28 03:04:33

回答

1

您可以使用字符串替換來環繞所有需要用span標記突出顯示的文本。然後爲該span標籤創建一個CSS類。

<?php 

$searchString = $_POST['search']; 
$EBOOK = str_replace($searchString, "<span class='highlighted'>$searchString</span>", $EBOOK); 

然後一些CSS

.highlighted { 
    background-color:yellow; 
} 

把它給你可以使用JavaScript到用戶的Web瀏覽器滾動到一個span.highlighted的第一位置的下一個步驟。

注意我不會用正則表達式來替換搜索字符串值(即的preg_replace),因爲用戶的搜索輸入可能包含由正則表達式中使用特殊字符,可能需要進行轉義。

這是所有理論當然...根據您的問題。

編輯:只是想到了什麼,電子書的內容將包含HTML標籤,所以如果你要使用像我建議的字符串替換功能。考慮不允許搜索和替換標籤。在這種情況下可能需要正則表達式替換

+0

是的,這是我正在尋找。我知道我需要一段突出顯示的文字,但對如何完成這項工作並沒有任何想法。在你看來,PHP是完成這個最好的語言嗎? – ryanSrich 2012-03-28 03:25:13

+0

我假定Php是因爲那是語言的標籤。您可以使用任何服務器端語言來實現此任務甚至客戶端JavaScript。取決於你的網站編程。如果你需要幫助評估你的情況,請給我發電子郵件。乾杯:) – 2012-03-29 04:42:12