phun-ky Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 (endret) skulle gjerne likt å visst hvordan man gjør dette. noen som har forslag til hvordan dette kan gjøres? Endret 27. januar 2005 av phun-ky Lenke til kommentar
Loomy Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 Hva mener du med tabellfelt egentlig? Uansett, noe sånt som dette kan funke: $tekst = "Lorem ipsum dolor sit amet"; $tekst = explode(" ", $tekst); echo $tekst[0]; Lenke til kommentar
Jonas Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 (endret) Loomy, hva om man vil hente ut flere ord, og det ikke finnes så mange ord på den linjen, men flere linjer nedover? Da må man splitte med "\n" også. Finnes det en teknikk for å splitte med to ting? Edit: Splitte/Eksplodere. Henger igjen fra VB-funksjonen Split().. Endret 26. januar 2005 av Jonas Lenke til kommentar
phun-ky Skrevet 26. januar 2005 Forfatter Del Skrevet 26. januar 2005 funket fint det. men så kom jeg til å tenke på at jeg må jo da "fjerne" det første ordet i selve feltet.. dvs, jeg har et felt som inneholder artikler, og jeg vil ta det første ordet ut og ha en annen style på det. men det skaper jo en ny problemstilling, hvordan fjerne det første ordet i artikkelen? Lenke til kommentar
Loomy Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 Sånn: $tekst = "Lorem ipsum dolor sit amet"; $tekst = explode(" ", $tekst, 1); echo $tekst[0]; // Printer ut Lorem echo $tekst[1]; // Printer ut ipsum dolor sit amet Lenke til kommentar
phun-ky Skrevet 26. januar 2005 Forfatter Del Skrevet 26. januar 2005 hm <? $spe = mysql_query("SELECT id,tittel,artikkel,forfatter,dato, type FROM news ORDER BY id DESC LIMIT 0, 5",$cxn); while($row = mysql_fetch_array($spe)) { $tekst = $row[artikkel]; $tekst = explode(" ", $tekst, 1); $tt = $tekst[0]; $tt1 = $tekst[1]; echo "<div id=\"nyheter\">"; echo " <p> <span class=two> $tt </span> <span class=test> $tt1 </span> </p> </div>"; echo "<div id=\"fill\"></div>"; } ?> dette vil ikke funke skikkelig. får den første stylen på alt... wtf? Lenke til kommentar
phun-ky Skrevet 26. januar 2005 Forfatter Del Skrevet 26. januar 2005 byttet ut $tekst = explode(" ", $tekst, 1); med $tekst = explode(" ", $tekst, 2); Lenke til kommentar
???????? Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 Det finnes en funksjon for dette, som gir deg ordene i en array - se str_word_count() Lenke til kommentar
stiber Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 Et annet alternativ er regular expressions. <?php $tekst = "Lorem ipsum dolor sit amet"; print preg_replace("/^([^ ])(.*)/","<span class=\"tekst\">\\1</span>\\2",$tekst); ?> Dette gir også ønsket effekt. Forklaring: ^ #begynnelse av tekst. ([^ ]+) #Alt som ikke er mellomrom, men før første mellomrom, blir lagret i "\\1" (.*) #resten blir lagret i "\\2" Lenke til kommentar
???????? Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 Hva er poenget med å gjøre det vanskligere for seg selv? Lenke til kommentar
stiber Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 Bruker ganske mye RegExp, så det falt meg ganske naturlig. Syns det er en bedre løsning enn sprengstoff (explode()) i dette tilfellet. Lenke til kommentar
???????? Skrevet 26. januar 2005 Del Skrevet 26. januar 2005 Ingen av de løsningene er det noe poeng i å bruke så lenge PHP har en funksjon for dette! Lenke til kommentar
phun-ky Skrevet 26. januar 2005 Forfatter Del Skrevet 26. januar 2005 enklere enn dette? $tekst = explode(" ", $tekst, 1); Lenke til kommentar
???????? Skrevet 27. januar 2005 Del Skrevet 27. januar 2005 str_word_count() tar også hensyn til dersom det skulle være flere mellomrom, eller hvis det er linjeskift - annet enn det så blir den ganske lik explode - man får hvert ord i en arrayen. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå