|
| x antal tegn ?? Fra : Frank Madsen |
Dato : 24-03-02 13:25 |
|
Hej,
Jeg har brug for hjælp til at få kortet en tekst ned til et antal tegn der
passer, og et antal som jeg nemt kan ændre ... jeghar forsøgt mig med
følgende koder, men ingen af dem virker, og jeg forstår det ikke nok til at
kunne se fejlen... Nogen der vil hjælpe ??
1:
<?php
$tegn = 500; //antal tegn du vil have med
if(strlen($tekst) > $tegn) {
$forkortet = substr($tekst, 0, $tegn);
for($i=$tegn; $tekst{$i} != "."; $i++) {
$forkortet .= $tekst{$i};
} $forkortet .= "..\n";
} ?>
2:
<?php
if(strlen($tekst) > 50) {
$forkortet = substr($tekst, 0, 50);
for($i=50; $tekst{$i} != "."; $i++) {
$forkortet .= $tekst{$i};
} $forkortet .= "..\n";
} ?>
Hvad er der galt ??? og hvordan får jeg det skåret ned til f.eks 150 tegn og
så til første punktum ??? Jeg vil gerne have det til at passe med teksten ud
for de enkelte billeder, og min nuværende opbygning vil jeg ikke ændre på,
jeg vil ikke tilbage til tabeller!
--
Hilsen Frank
Hjemmeside : www.anakin.dk
Very funny Scotty, now beam down my clothes !!
| |
Johan (24-03-2002)
| Kommentar Fra : Johan |
Dato : 24-03-02 14:01 |
|
> Hvad er der galt ??? og hvordan får jeg det skåret ned til f.eks 150 tegn og
> så til første punktum ??? Jeg vil gerne have det til at passe med teksten ud
> for de enkelte billeder, og min nuværende opbygning vil jeg ikke ændre på,
> jeg vil ikke tilbage til tabeller!
<?php
//IKKE TESTET
//DIN TEKST = $tekst
$Length = 150;
$i = 0;
while(substr($tekst, ($Length+$i), 1) != '.') {
$ForkortetTekst = substr($tekst, 0, ($Length+$i))
$i++;
}
?>
mvh
Johan
| |
Frank Madsen (24-03-2002)
| Kommentar Fra : Frank Madsen |
Dato : 24-03-02 14:56 |
|
> > Hvad er der galt ??? og hvordan får jeg det skåret ned til f.eks 150
tegn og
> > så til første punktum ??? Jeg vil gerne have det til at passe med
teksten ud
> > for de enkelte billeder, og min nuværende opbygning vil jeg ikke ændre
på,
> > jeg vil ikke tilbage til tabeller!
>
> <?php
> //IKKE TESTET
> //DIN TEKST = $tekst
> $Length = 150;
> $i = 0;
> while(substr($tekst, ($Length+$i), 1) != '.') {
> $ForkortetTekst = substr($tekst, 0, ($Length+$i))
> $i++;
> }
> ?>
Jeg forstår ikke hvad du mener, jeg kan ikke _se_ ændringen ?!? og hvad
mener du med $tekst = min tekst ?? skal hele mit dokument ind i $tekst ??
Gider du ikke prøve at skrive koden som den skal stå i dokumentet for at den
virker ??? Det er ikke fordi du skal lave koden for mig, og jo, for jeg
fatter ikke en døjt af php, men har været tvunget ud i det fordi jeg vil
udnytte min serverplads og have min egen gæstebog.... så lidt her og
der.....
--
Hilsen Frank
Hjemmeside : www.anakin.dk
Very funny Scotty, now beam down my clothes !!
| |
Johan (24-03-2002)
| Kommentar Fra : Johan |
Dato : 24-03-02 17:52 |
|
> <?php
> $Length = 150;
> $i = 0;
> while(substr($tekst, ($Length+$i), 1) != '.') {
> $forkortet = substr($tekst, 0, ($Length+$i))
> $i++;
> }
> ?>
kort sagt.
Den sætning du ønsker forkortet ligger i variablen $tekst
Du forkortede tekst ligger i $forkortet
Men kan ikke sætte det mere op, uden jeg kender mere til din kildekode?
mvh
Johan
| |
Andreas Kleist Svend~ (24-03-2002)
| Kommentar Fra : Andreas Kleist Svend~ |
Dato : 24-03-02 15:45 |
|
Frank Madsen wrote:
> for($i=$tegn; $tekst{$i} != "."; $i++) {
Det er vist her den smutter, $tekst{$i} er ikke det $i'ne tegn i $tekst,
det er $tekst[$i] derimod, så prøv at erstat det.
--
mvh Andreas Kleist Svendsen
| |
Frank Madsen (24-03-2002)
| Kommentar Fra : Frank Madsen |
Dato : 24-03-02 15:45 |
|
> > for($i=$tegn; $tekst{$i} != "."; $i++) {
>
> Det er vist her den smutter, $tekst{$i} er ikke det $i'ne tegn i $tekst,
> det er $tekst[$i] derimod, så prøv at erstat det.
Jeg er meget taknemlig for dit svar, men vil du ikke nok sætte det færdige
op så det virker, jeg kan bedre forstå hvordan det er skruet sammen når jeg
har en kode der virker...
--
Hilsen Frank
Hjemmeside : www.anakin.dk
Very funny Scotty, now beam down my clothes !!
| |
Andreas Kleist Svend~ (24-03-2002)
| Kommentar Fra : Andreas Kleist Svend~ |
Dato : 24-03-02 18:10 |
|
Frank Madsen wrote:
> Jeg er meget taknemlig for dit svar, men vil du ikke nok sætte det færdige
> op så det virker, jeg kan bedre forstå hvordan det er skruet sammen når
> jeg har en kode der virker...
Nej, hvis du vil have hjælp herinde bliver du selv nødt til at gøre en
indsats.
Hvis det er et færdigt og tilpasset script du vil have har du nok større
held på eksperten.dk.
--
mvh Andreas Kleist Svendsen
| |
Frank Madsen (24-03-2002)
| Kommentar Fra : Frank Madsen |
Dato : 24-03-02 20:47 |
|
> > Jeg er meget taknemlig for dit svar, men vil du ikke nok sætte det
færdige
> > op så det virker, jeg kan bedre forstå hvordan det er skruet sammen når
> > jeg har en kode der virker...
>
> Nej, hvis du vil have hjælp herinde bliver du selv nødt til at gøre en
> indsats.
Jamen når jeg ikke FORSTÅR hvad det er I skriver ??? jeg kan ikke SE på
koden hvad der er galt, og det php hæfte jeg har købt har jeg ikke fået
noget som helst ud af, andet end "hello world" ?!? og det er ikke det jeg
skal bruge. Jeg kan ikke slå op nogen steder det script eller den stump kode
jeg skal bruge, jeg beder bare om hjælp til at forstå, og ved at jeg ser en
kode der VIRKER, forstår jeg bedre hvordan den er skruet sammen, og når jeg
piller i den, og den så ikke virker, så lærer jeg af det....... se min side,
og bedøm selv hvor mange ÅR jeg har været om at lære det jeg kan der, jeg er
stadig på "kopiér/sæt ind" stadiet......
--
Hilsen Frank
Hjemmeside : www.anakin.dk
Very funny Scotty, now beam down my clothes !!
| |
Per Thomsen (24-03-2002)
| Kommentar Fra : Per Thomsen |
Dato : 24-03-02 18:16 |
|
"Andreas Kleist Svendsen" <usenetnospam@nau.dk> skrev i en meddelelse
news:a7kopd$df3$1@sunsite.dk...
> Frank Madsen wrote:
>
> > for($i=$tegn; $tekst{$i} != "."; $i++) {
>
> Det er vist her den smutter, $tekst{$i} er ikke det $i'ne tegn i $tekst,
> det er $tekst[$i] derimod, så prøv at erstat det.
Sludder...
Fra http://www.php.net/manual/en/language.types.string.php
String access by character
Characters within strings may be accessed by specifying the zero-based
offset of the desired character after the string in curly braces.
Note: For backwards compatibility, you can still use the array-braces.
However, this syntax is deprecated as of PHP 4.
MVH Per Thomsen,
http://www.pert.dk/
>
> --
> mvh Andreas Kleist Svendsen
| |
Andreas Kleist Svend~ (24-03-2002)
| Kommentar Fra : Andreas Kleist Svend~ |
Dato : 24-03-02 23:13 |
|
Per Thomsen wrote:
> "Andreas Kleist Svendsen" <usenetnospam@nau.dk> skrev i en meddelelse
> news:a7kopd$df3$1@sunsite.dk...
>> Det er vist her den smutter, $tekst{$i} er ikke det $i'ne tegn i $tekst,
>> det er $tekst[$i] derimod, så prøv at erstat det.
>
> Sludder...
Du har sørme ret.
> Note: For backwards compatibility, you can still use the array-braces.
> However, this syntax is deprecated as of PHP 4.
Jeg er vist stadig på PHP3-stadiet. I hvert fald på visse punkter.
--
mvh Andreas Kleist Svendsen
| |
Thomas Lindgaard (24-03-2002)
| Kommentar Fra : Thomas Lindgaard |
Dato : 24-03-02 22:12 |
|
> Hvad er der galt ??? og hvordan får jeg det skåret ned til f.eks 150 tegn
og
> så til første punktum ??? Jeg vil gerne have det til at passe med teksten
ud
> for de enkelte billeder, og min nuværende opbygning vil jeg ikke ændre på,
> jeg vil ikke tilbage til tabeller!
> Hvad er der galt ??? og hvordan får jeg det skåret ned til f.eks 150 tegn
og
> så til første punktum ???
Utestet:
function shorten($text)
{
// Klip de første 150 tegn ud
$first_150_chars = substr($text, 0, 150);
// Læg resten af teksten over i en variabel
$the_rest = substr($text, 150);
// Find positionen af første punktum i resten
$dot_position = strpos($the_rest, ".");
// Tag tegn fra resten frem til første punktum (punktum inklusive)
$chars_until_next_dot = substr($the_rest, 0, $dot_position + 1);
// Returner strengen
return $first_150_chars . $chars_until_next_dot;
}
Du kalder funktionen således:
$text = "blablabla ... blablabla";
echo shorten($text);
Mvh. Thomas
| |
|
|