|
| Vis lidt af tekst fra database Fra : nederbasse |
Dato : 23-11-09 22:02 |
|
Hej
Jeg vil gerne vise en overskrift hentet fra en Mysql db som f.eks.:
Dette er en enme....
i stedet for
Dette er et emne der er for langt til at stå på siden hvor det skal vises
Jeg har prøvet at Google det men ved ikke rigtigt hvad jeg skal lede efter
Lars
| |
Chano Andersen (24-11-2009)
| Kommentar Fra : Chano Andersen |
Dato : 24-11-09 01:10 |
| | |
Philip Nunnegaard (24-11-2009)
| Kommentar Fra : Philip Nunnegaard |
Dato : 24-11-09 07:40 |
|
nederbasse skrev:
> Hej
>
> Jeg vil gerne vise en overskrift hentet fra en Mysql db som f.eks.:
> Dette er en enme....
> i stedet for
> Dette er et emne der er for langt til at stå på siden hvor det skal vises
Den nemme måde:
$titeltekst = "Dette er et emne der er for langt til at stå på siden
hvor det skal vises";
// Tager de første 15 tegn og smider "..." efter
if(strlen($titeltekst) > 15) {
$overskrift = substr($titeltekst,0,15)."...";
} else {
$overskrift = $titeltekst;
}
echo $overskrift; // returnerer "Dette er et emn..."
Den fulde overskrift kan så smides ind i en title, som Chano Andersen
foreslår:
echo "<span title=\"$titeltekst\">$overskrift</span>";
| |
Martin (24-11-2009)
| Kommentar Fra : Martin |
Dato : 24-11-09 13:53 |
|
Philip Nunnegaard wrote:
> nederbasse skrev:
>> Hej
>>
>> Jeg vil gerne vise en overskrift hentet fra en Mysql db som f.eks.:
>> Dette er en enme....
>> i stedet for
>> Dette er et emne der er for langt til at stå på siden hvor det skal vises
>
> Den nemme måde:
> $titeltekst = "Dette er et emne der er for langt til at stå på siden
> hvor det skal vises";
>
> // Tager de første 15 tegn og smider "..." efter
> if(strlen($titeltekst) > 15) {
> $overskrift = substr($titeltekst,0,15)."...";
> } else {
> $overskrift = $titeltekst;
> }
>
> echo $overskrift; // returnerer "Dette er et emn..."
> Den fulde overskrift kan så smides ind i en title, som Chano Andersen
> foreslår:
>
> echo "<span title=\"$titeltekst\">$overskrift</span>";
og til dem som ikke vil have det ender med
Dette er et em...
Eller dem som har html i sin tekst
echo preview_text($titeltekst, 15, true);
function preview_text($TEXT, $LIMIT, $TAGS = 0) {
// TRIM TEXT
$TEXT = trim($TEXT);
// STRIP TAGS IF PREVIEW IS WITHOUT HTML
if ($TAGS == 0) $TEXT = preg_replace('/\s\s+/', ' ',
strip_tags($TEXT));
// IF STRLEN IS SMALLER THAN LIMIT RETURN
if (strlen($TEXT) < $LIMIT) return $TEXT;
if ($TAGS == 0) return substr($TEXT, 0, $LIMIT) . " ...";
else {
$COUNTER = 0;
for ($i = 0; $i<= strlen($TEXT); $i++) {
if ($TEXT{$i} == "<") $STOP = 1;
if ($STOP != 1) {
$COUNTER++;
}
if ($TEXT{$i} == ">") $STOP = 0;
$RETURN .= $TEXT{$i};
if ($COUNTER >= $LIMIT && $TEXT{$i} == " ") break;
}
return $RETURN . "...";
}
}
| |
Peter Farsinsen (24-11-2009)
| Kommentar Fra : Peter Farsinsen |
Dato : 24-11-09 14:48 |
|
Martin wrote:
> // STRIP TAGS IF PREVIEW IS WITHOUT HTML
> if ($TAGS == 0) $TEXT = preg_replace('/\s\s+/', ' ', strip_tags($TEXT));
Hvad har strip_tags() gjort? ;)
> // IF STRLEN IS SMALLER THAN LIMIT RETURN
> if (strlen($TEXT) < $LIMIT) return $TEXT;
Hvad så, hvis længden på strengen matcher limit? ;)
> if ($TAGS == 0) return substr($TEXT, 0, $LIMIT) . " ...";
Her returnerer funktionen præcis det samme, som er foreslået tidligere ;)
--
Peter Farsinsen
fornavn@efternavn.dk
| |
Martin (27-11-2009)
| Kommentar Fra : Martin |
Dato : 27-11-09 17:51 |
|
On 24-11-2009 14:47, Peter Farsinsen wrote:
> Martin wrote:
>
>> // STRIP TAGS IF PREVIEW IS WITHOUT HTML
>> if ($TAGS == 0) $TEXT = preg_replace('/\s\s+/', ' ', strip_tags($TEXT));
>
> Hvad har strip_tags() gjort? ;)
Ja, det er noget gammelt skidt
>
>> // IF STRLEN IS SMALLER THAN LIMIT RETURN
>> if (strlen($TEXT) < $LIMIT) return $TEXT;
>
> Hvad så, hvis længden på strengen matcher limit? ;)
Så skriver man et komma ind, det er der altid lige plads til
>
>> if ($TAGS == 0) return substr($TEXT, 0, $LIMIT) . " ...";
>
> Her returnerer funktionen præcis det samme, som er foreslået tidligere ;)
Ja selvfølgelig, man har jo valgt at ikke have tags med over :)
| |
|
|