webForumDet fria alternativet

Korta ner tråd...

PHPur PHP

2 svar · 450 visningar · startad av SoulGod

Medlem sedan aug. 20051 200 inlägg
Frågan#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?

Medlem 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.

Medlem sedan juni 20006 031 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'];
}
137 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)