FAQ |
Kalender |
2009-05-22, 21:13 | #1 | ||
|
|||
Nykomling
|
Jag har byggt en sökmotor som letar igenom vissa databastabeller innehållandes html, efter en av användaren vald text sträng. De texter som innehåller strängen ska sedan visas med alla förekomster av strängen i fet stil. Jag gör srängförekomsterna feta på följande sätt:
$belystord = '<span style="font-weight: bold; color: #000;">' . $_GET['word'] . '</span>'; $text_array[$i] = str_ireplace($_GET['word'],$belystord,$text_array[$i]); Mitt problem är att om användaren söker på t.ex. "a" så byter den ut "a" i länktaggarna vilket gör att de inte längre funkar. Hur gör jag för att str_ireplace ska låta bli att ändra på allt som finns inuti taggar? |
||
Svara med citat |
2009-05-22, 21:38 | #2 | ||
|
|||
Klarade millennium-buggen
|
tillåt inte att man kunna söka på end en bokstav...
|
||
Svara med citat |
2009-05-22, 23:32 | #3 | |||
|
||||
Har WN som tidsfördriv
|
Använd dej av regexp tillsammans med typ eregi_replace() eller någon annan passande funktion.
"[^\<\/?][A-Za-z]+[^\\?\>]" skulle matcha alla strängar beståendes av bokstäver som inte omsluts av < >, </ > eller < />. Så typ detta borde funka: Kod:
$text_array[$i] = eregi_replace("[^\<\/?]".$_GET['word']."[^\\?\>]",$belystord,$text_array); edit: Missade den lilla detaljen med sluttaggarna... |
|||
Svara med citat |
Svara |
|
|