23. juli 2002 - 20:08Der er
12 kommentarer og 1 løsning
indsæt tag omkring ord - ikke i tag
Jeg skal indsætte en tekst før og efter et eller flere ord i en længere tekst, som indeholder html-tags. Ord der optræder i tags'ne skal der ikke indsættes omkring.
Eksempel: Jeg skal indsætte <span class='speciel'> og </span> hhv. før og efter 'name' i teksten:
"Insert your name: <input type='text' name='name' value=''> Names are needed to apply."
Jeg skal markere det første 'name' og 'Name' i 'Names' til sidst, men ikke de to 'name' i taggen.
Jeg skal enten lave det i javascript eller PHP, og en regular expression foretrækkes.
$str = "Insert your name: <input type='text' name='name' value=''> Names are needed to apply. name name lblalbanamelkmbfl"; $str = highlight_name($str);
Det er også et spørgsmål om hastighed, preg_match_all, foreach løkke og preg_replace tager 10-100 gange længere tid (er testet) end end preg_replace. Derfor!
på min computer tager det ~0.0005 sekunder at udføre den funktion. Det er godt nok også lang tid :)
sammenlignet med en enkelt preg_replace som tager ~0.00025 sekunder.
ja, det er dobbelt så lang tid, men hvis det nu er den eneste løsning. Jeg kan ikke udmiddelbart komme på noget smartere, men måske du er heldig det kommer en regexp haj forbi :)
Den funktion som du har lavet giver ikke noget resultat heller... prøv selv Jeg søger efter "name" i: Klik på knappen NAME Opdater, eller prøv igen senere.
<a value="name" name="tt"> Hvis du har skrevet name sidens NaMeadresse i adresselinjen, skal du name
Tjaeh, teaspoon. Din funktion er god nok, men jeg vil lade spørgsmålet stå åbent lidt endnu; det ku jo være der dukkede en reg.exp. op som klarede det hele på een gang, så jeg også kunne gøre det med clientside javascript.
Har normalt samme princip - men til dette formål er det en fordel med client side, da det er optil 20 forskellige ord der skal markeres i en 100 kb fil, og genloade den synes jeg er måske lidt voldsomt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.