Arama Sonucu görüntüleme gibi google php

2 Cevap

i bir paragraf ve kullanıcı bu içeride arar ve arama terimi içinde 3 maç var ama 3 farklı yerlerde ise

eski

Dünya Savaşı, ya da İkinci Dünya Savaşı [1] (genellikle kısaltılmış İkinci Dünya Savaşı ya da WW2), iki karşıt askeri organize büyük güçlerin, hepsi dahil, dünya uluslarının en çıkıyor 1939-1945 süren küresel bir askeri çatışma oldu ittifaklar: Müttefikler ve Mihver. Bu seferber 100 milyondan fazla askeri personel ile, tarihinin en yaygın bir savaş oldu. Bir devlet "topyekün savaş" önemli katılımcıları sivil ve askeri kaynaklar arasındaki ayrım silme, savaş çaba hizmet onların bütün ekonomik, endüstriyel ve bilimsel yeteneklerini yerleştirilir. Holokost ve savaşta nükleer silahların kullanımı dahil sadece sivillere karşı önemli bir eylem tarafından işaretlenmiş, bu insanlık tarihinin en ölümcül çatışma oldu, [2] yetmiş milyon zayiat.

i gibi göstermek gerektiğini, böylece "savaş" aramak zorunda

Dünya War II, ya da İkinci Dünya Savaşı [1] ..... ", war total" bir devlet olarak ....

2 Cevap

$text = 'World War II, or the Second World W...';
$text = preg_replace('/war/ig', '<strong>$0</strong>', $text);

Siz sorularınızı preg_replace ve regular expressions hakkında daha fazla bilgi edinebilirsiniz.

Ben bir PHP çözüm yok, ama istemci tarafında bu yapabileceğini düşündürmektedir. Bu, herhangi bir çıkış sunucu tarafında önbelleğe ve bazı döngülerini kaydetmek anlamına gelir :)

Disclaimer: Bu benim kendi projesidir.

searchTermsHighlight, bir jQuery eklentisi göz atın. Demo. Yerine yönlendirme kontrol nedenle, bu sorgu parametrelerini denetler kaynağını değiştirin.

PHP bunu yapmak istiyorsanız Alternatif olarak, stri_replace() çok büyük olasılıkla gibi kullanacaktır. Eğer düz maçlar arıyor ve intelligence bu regex teklifler herhangi gerekmez çünkü regex önleyebilirsiniz.

$searchTerms = array('war');

foreach($searchTerms as $term) {

    $content = stri_replace($term, '<span class="highlight">' . $term . '</strong>', $content);

}

stri_replace() tarafından açıklamalarda belirtildiği gibi Dominic Rodger.