Gå til innhold

hvordan hente ut det første ordet i et tab..[LØST]


Anbefalte innlegg

Skrevet (endret)

skulle gjerne likt å visst hvordan man gjør dette. noen som har forslag til hvordan dette kan gjøres?

Endret av phun-ky
Videoannonse
Annonse
Skrevet

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];

Skrevet (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 av Jonas
Skrevet

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?

Skrevet

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

Skrevet

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?

Skrevet

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"

Skrevet

Bruker ganske mye RegExp, så det falt meg ganske naturlig.

Syns det er en bedre løsning enn sprengstoff (explode()) i dette tilfellet. ;)

Skrevet

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.

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...