webForumDet fria alternativet

Korta ner tråd...

2 svar · 450 visningar · startad av SoulGod

SoulGodMedlem sedan aug. 20051 200 inlägg
#1

När jag väl fått ordning på mitt nyhetsscript så kommer nästa grej :(

Jag har en kod som läser & skriver ut databas informationen som ser ut såhär:

<?
$query_news = "SELECT * FROM nyheter LIMIT 3";
$news = mysql_query($query_news) or die(mysql_error());
$totalRows_news = mysql_num_rows($news);
while($row_news = mysql_fetch_assoc($news)) {
?>
			<h1><? echo $row_news['rubrik']; ?></h1>
			<h4>[<? echo $row_news['datum']; ?>] [<? echo $row_news['skribent']; ?>]</h4>
            <h2><? echo $row_news['innehall']; ?>&nbsp;&nbsp;<? if(strlen($row_news['innehall']) > 75) {
echo "<a href='nyheter.php?id=";
echo $row_news['id'];
echo "'>Läs mer</a>";
}?></h2>

<? } ?>

I där har jag också en strlen som jag lyckats få, så att den visar " Läs Mer " om nyheten är längre än 75 tecken... Mitt nästa problem är ..
Jag vill att nyheten ( Alltså $row_news['innehall'] ) skall sluta skrivas ut efter 75 tecken, och då ersättas med ...

Alltså för att slippa för långa nyheter på förstasidan...
Jag har googlat och försökt hitta en sådan funktion,
men vet inte vad jag ska söka efter .(

Någon som kan / vet?

UrMeMedlem sedan apr. 2001762 inlägg
#2
echo substr($row_news['innehall'], 0, 75);

0 anger vilket tecken den börjar på och 75 är antalet.

PeddaMedlem sedan juni 20006 032 inlägg
#3

Eftersom du vill lägga till tre punkter efter att du har kortat ner strängen så bör du ju även kolla längden först så du bara lägger till punkterna om strängen kortas ner.

if(strlen($row_news['innehall']) > 78) {
     echo substr($row_news['innehall'], 0, 75) . '...<br /><a href="nyheter.php?id='.$row_news['id'].'">Läs mer</a>'; 
} else {
     echo $row_news['innehall'];
}
121 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)