/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Dele string ved mellemrum
Fra : Benny Nissen


Dato : 13-08-03 04:52

Jeg skal have delt en string, så resultatet bliver max. 70 tegn langt, men
der skal deles ved sidste mellemrum.
Hvordan kan det lige klares (nu har jeg fedtet rundt med det i et par timer
uden held) ?
Altså, hvis strengens længde er under eller lig med 70 tegn skal der intet
gøres.
Hvis den er over 70 tegn lang skal der deles ved sidste mellemrum FØR pos.
70


--
Benny Nissen



 
 
Arne Feldborg (13-08-2003)
Kommentar
Fra : Arne Feldborg


Dato : 13-08-03 06:32

"Benny Nissen" <news@bennynissen.dk> skrev Wed, 13 Aug 2003 05:51:44
+0200

>Jeg skal have delt en string, så resultatet bliver max. 70 tegn langt, men
>der skal deles ved sidste mellemrum.
>
$newtext = wordwrap( $text, 70 );

http://dk.php.net/manual/en/function.wordwrap.php


--
mvh, A:\Feldborg

Folketælllinger Hammerum og Bøling herreder, kirkebøger Hammerum herred
http://www.haunstrup.dk/feldborg/genealogi/download/

Benny Nissen (13-08-2003)
Kommentar
Fra : Benny Nissen


Dato : 13-08-03 13:29

> >Jeg skal have delt en string, så resultatet bliver max. 70 tegn langt,
men
> >der skal deles ved sidste mellemrum.
> >
> $newtext = wordwrap( $text, 70 );
>
> http://dk.php.net/manual/en/function.wordwrap.php
>
Den har jeg også kigget på , men den giver jo bare ne streng, hvor der er
linieskift indsat efter max 70 tegn.
Jeg skal KUN bruge de første max. 70 tegn.
Strengen jeg starter med kan også fint indeholde linieskift, så der kan ikke
bruges noget med substr eller lign.

Jeg fandt dog alligevel noget på php.net som kunne hjælpe:

$maxtextlenght=75;
if(strlen($text) > $maxtextlenght )
{
$text = substr(trim($text),0,$maxtextlenght);
$text = substr($text,0,strlen($text)-strpos(strrev($text)," "));
}


--
Benny Nissen



Arne Feldborg (14-08-2003)
Kommentar
Fra : Arne Feldborg


Dato : 14-08-03 07:07

"Benny Nissen" <news@bennynissen.dk> skrev Wed, 13 Aug 2003 14:28:38
+0200


>> http://dk.php.net/manual/en/function.wordwrap.php
>>
>Den har jeg også kigget på , men den giver jo bare ne streng, hvor der er
>linieskift indsat efter max 70 tegn.
>Jeg skal KUN bruge de første max. 70 tegn.
>Strengen jeg starter med kan også fint indeholde linieskift, så der kan ikke
>bruges noget med substr eller lign.
>
Jeg tænkte på om du kunne lave en 'explode' på linieskift efter at have
brugt wordwrap(). Men hvis der kan forekomme et linieskift før de
max-antal tegn så dutter det jo ikke.

>Jeg fandt dog alligevel noget på php.net som kunne hjælpe:
>
> $maxtextlenght=75;
> if(strlen($text) > $maxtextlenght )
> {
> $text = substr(trim($text),0,$maxtextlenght);
> $text = substr($text,0,strlen($text)-strpos(strrev($text)," "));
> }
>
Sidste linie burde kunne klares med:
$text = substr($text,0,strrpos($text," "));

Den vil dog ikke virke korrekt (uden yderligere forholdsregler), hvis
der er tale om en tekst på max-antal tegn helt uden mellemrum.


--
mvh, A:\Feldborg

Folketælllinger Hammerum og Bøling herreder, kirkebøger Hammerum herred
http://www.haunstrup.dk/feldborg/genealogi/download/

Benny Nissen (14-08-2003)
Kommentar
Fra : Benny Nissen


Dato : 14-08-03 14:39

> >Jeg fandt dog alligevel noget på php.net som kunne hjælpe:
> >
> > $maxtextlenght=75;
> > if(strlen($text) > $maxtextlenght )
> > {
> > $text = substr(trim($text),0,$maxtextlenght);
> > $text = substr($text,0,strlen($text)-strpos(strrev($text)," "));
> > }
> >
> Sidste linie burde kunne klares med:
> $text = substr($text,0,strrpos($text," "));
>
Ja, det var da lidt smartere.

> Den vil dog ikke virke korrekt (uden yderligere forholdsregler), hvis
> der er tale om en tekst på max-antal tegn helt uden mellemrum.

Det må jeg så håbe på der ikke er.

.....nåe, nej. Det er jo ikke sådan vi koder
Jeg lavet lidt mere kontrol på dataene. (noget med, athvis strpos " " er
større end 75, så klipper vi alligevel efter 75 tegn o.s.v.)


--
Benny Nissen



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste