/ 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
tekst der deles
Fra : Bo Rattenborg


Dato : 29-01-03 17:17

Hvordan kan jeg dele en tekst i f.eks. 4 dele, når kravet er, at der skal
deles ved ' ' - mellemrum ?

Bo



 
 
Peter Larsen (29-01-2003)
Kommentar
Fra : Peter Larsen


Dato : 29-01-03 18:12

> Hvordan kan jeg dele en tekst i f.eks. 4 dele, når kravet er, at der skal
> deles ved ' ' - mellemrum ?

- - snip - -
$tekst = "jeg er bare god";
$array = explode(" ", $tekst);
- - snap - -

$array[0] indeholder "jeg".
$array[1] indeholder "er"
$array[2] indeholder "bare"
$array[3] indeholder "god"


--
Regards, Peter Larsen - GratisDNS.dk




Bo Rattenborg (29-01-2003)
Kommentar
Fra : Bo Rattenborg


Dato : 29-01-03 18:35

> $array[0] indeholder "jeg".
> $array[1] indeholder "er"
> $array[2] indeholder "bare"
> $array[3] indeholder "god"

Jeg udtrykte mig vis ikke præcis nok.
Jeg har en lang tekst som jeg gerne vil dele i f.eks. fire <TD></TD>

Jeg kunne anvende chunk_split, men jeg er ikke klar over om den gør som jeg
ønsker ?

Bo



Thomas Kenne (29-01-2003)
Kommentar
Fra : Thomas Kenne


Dato : 29-01-03 21:01

On Wed, Jan 29 2003, Bo Rattenborg wrote:
> > $array[0] indeholder "jeg".
> > $array[1] indeholder "er"
> > $array[2] indeholder "bare"
> > $array[3] indeholder "god"
>
> Jeg udtrykte mig vis ikke præcis nok.
> Jeg har en lang tekst som jeg gerne vil dele i f.eks. fire <TD></TD>
>
> Jeg kunne anvende chunk_split, men jeg er ikke klar over om den gør som jeg
> ønsker ?

proev at kaste et blik paa wordwrap()[1] - det kunne vaere din ven her!

[1] http://dk.php.net/wordwrap

--
Med venlig hilsen

Thomas Kenne

Bo Rattenborg (29-01-2003)
Kommentar
Fra : Bo Rattenborg


Dato : 29-01-03 21:50

>proev at kaste et blik paa wordwrap()[1] - det kunne >vaere din ven her!
>
> [1] http://dk.php.net/wordwrap

Øh indsætter den ikke blot et linebreak, efter et bestemt antal tegn ?

Bo



Leonard (29-01-2003)
Kommentar
Fra : Leonard


Dato : 29-01-03 22:56

"Bo Rattenborg" <bo.rattenborg@[no spam]mail.dk> wrote:

>> [1] http://dk.php.net/wordwrap
>
>Øh indsætter den ikke blot et linebreak, efter et bestemt antal tegn ?

jo, men kun i et mellemrum, medmindre du tvinger den til det.
--
med venlig hilsen
Leonard - http://leonard.dk/

Bo Rattenborg (29-01-2003)
Kommentar
Fra : Bo Rattenborg


Dato : 29-01-03 23:46

> jo, men kun i et mellemrum, medmindre du tvinger den til det.

ok, men var der nogen der kunne hjælpe til en løsning ?

Bo



Thomas Kenne (29-01-2003)
Kommentar
Fra : Thomas Kenne


Dato : 29-01-03 23:49

On Wed, Jan 29 2003, Bo Rattenborg wrote:
> >proev at kaste et blik paa wordwrap()[1] - det kunne >vaere din ven her!
> >
> > [1] http://dk.php.net/wordwrap
>
> Øh indsætter den ikke blot et linebreak, efter et bestemt antal tegn ?

eller hvad man nu oensker.

saa een:
explode("\n", wordwrap($text, 40))

ville give dig linierne ud som et array.

--
Med venlig hilsen

Thomas Kenne

Bo Rattenborg (29-01-2003)
Kommentar
Fra : Bo Rattenborg


Dato : 29-01-03 23:54

> explode("\n", wordwrap($text, 40))

Takker, nu tror jeg at jeg fatter det

Bo



Bo Rattenborg (30-01-2003)
Kommentar
Fra : Bo Rattenborg


Dato : 30-01-03 10:15

Jepper det virker

Nu var der blot lige det, at jeg ikke har taget højde for at f.eks. <IMG
SRC="1.png> - jo også deles

Øv øv øv, kan det løses ?

Bo



[5000] Jesper Brunho~ (30-01-2003)
Kommentar
Fra : [5000] Jesper Brunho~


Dato : 30-01-03 11:07

Bo Rattenborg wrote:
> Jepper det virker
>
> Nu var der blot lige det, at jeg ikke har taget højde for at f.eks. <IMG
> SRC="1.png> - jo også deles
>
> Øv øv øv, kan det løses ?

alt _kan_ løses - det er et spørgsmål om omkostningerne

du kan trække billederne ud i et array og erstatte dem med fx <ImgNr1>
(hvor 1=positionen i arrayet), og så efterfølgende lægge billederne ind
på plads igen.

Du kan også bruge preg_split i stedet for explode, så bør du så vidt jeg
ved skal du kunne komme udenom problemet med img på den måde.

Endelig kan du søge tilbage i gruppen - engang i efteråret var der en
der lavede en engine til at choppe de første 200 tegn (var det vist) ud
af et forum-indlæg så man kan lave en teaser. Her var der samme problem.

/Jesper Brunholm


Henrik Hansen (30-01-2003)
Kommentar
Fra : Henrik Hansen


Dato : 30-01-03 11:19

Bo Rattenborg wrote:
> Jepper det virker
>
> Nu var der blot lige det, at jeg ikke har taget højde for at f.eks. <IMG
> SRC="1.png> - jo også deles

Ja læs kommentarene til wordwrap (i manualen), der er nogle eksempler på
hvordan man kan lave noget der ikke smadrer html.

--
Henrik Hansen


Bo Rattenborg (30-01-2003)
Kommentar
Fra : Bo Rattenborg


Dato : 30-01-03 20:45

Jeg fandt en tilpasning af wordwrap på php.net:
Problemet er, at den også medregner de tegn med der er mellem < & > i
$cols - derfor, når de udskrives i html, så bliver kolonerne ikke lige
'høje'. Er der nogen der kan vær behjælplige med at tilpasse nedenstående så
der tages høje for at tegnene mellem < & > ikke vises ?
Bo

function my_wordwrap($str,$cols,$cut){
$tag_open = '<';
$tag_close = '>';
$count = 0;
$in_tag = 0;
$str_len = strlen($str);
$segment_width = 0;

for ($i=1 ; $i<=$str_len ; $i++){
if ($str[$i] == $tag_open) {
$in_tag++;
}
elseif ($str[$i] == $tag_close) {
if ($in_tag > 0) {
$in_tag--;
}
}
else {
if ($in_tag == 0) {
$segment_width++;
if (($segment_width > $cols) && ($str[$i] == " ")) {
$str = substr($str,0,$i).$cut.substr($str,$i+1,$str_len-1);
$i += strlen($cut);
$str_len = strlen($str);
$segment_width = 0;
}
}
}
}
return $str;
}



Bo Rattenborg (31-01-2003)
Kommentar
Fra : Bo Rattenborg


Dato : 31-01-03 09:17

Øh næ, det ser ud til at det ser ud til at virke ok. Men jeg vil gerne have
mulighed for at indsætte et tvungen spalteskift. Nogen idé til hvordan jeg
kan gøre det ?

Mvh
Bo



Henrik Hansen (31-01-2003)
Kommentar
Fra : Henrik Hansen


Dato : 31-01-03 09:35

Bo Rattenborg wrote:
> Øh næ, det ser ud til at det ser ud til at virke ok. Men jeg vil gerne have
> mulighed for at indsætte et tvungen spalteskift. Nogen idé til hvordan jeg
> kan gøre det ?

fjern && ($str[$i] == " ") i den sidste else, meeen har kun lige kastet
et hurtigt blik på den og ved ik om det er nok men som jeg lige ser det
er det den ser sørger for du kun splitter i en mellemrum, så hvis du
fjerner den vil den splitte i den bredde du har sat den til.

--
Henrik Hansen


Bo Rattenborg (31-01-2003)
Kommentar
Fra : Bo Rattenborg


Dato : 31-01-03 10:51

> fjern && ($str[$i] == " ") i den sidste else, meeen har kun lige kastet
> et hurtigt blik på den og ved ik om det er nok men som jeg lige ser det
> er det den ser sørger for du kun splitter i en mellemrum, så hvis du
> fjerner den vil den splitte i den bredde du har sat den til.

Takker, min fejl. Jeg udtrykte mig ikke klart nok. Det jeg mangler er, at
kunne indsætte et tvungen spalteskifte, så f.eks. funktionen møder tegnet #,
så springer den til næste spalte.

Som det nu har jeg prøvet med :
$data['content'] = explode("#", my_wordwrap($data['content'], $textPerColum,
'#'));
Og så indsat '#' de steder hvor jeg ønsker at teksten rykkes til næste
spalte. Men det stemmer ikke overens med det my_wordwrap beregner
Bo



Henrik Hansen (31-01-2003)
Kommentar
Fra : Henrik Hansen


Dato : 31-01-03 11:21

Bo Rattenborg wrote:
>>fjern && ($str[$i] == " ") i den sidste else, meeen har kun lige kastet
>>et hurtigt blik på den og ved ik om det er nok men som jeg lige ser det
>>er det den ser sørger for du kun splitter i en mellemrum, så hvis du
>>fjerner den vil den splitte i den bredde du har sat den til.
>
>
> Takker, min fejl. Jeg udtrykte mig ikke klart nok. Det jeg mangler er, at
> kunne indsætte et tvungen spalteskifte, så f.eks. funktionen møder tegnet #,
> så springer den til næste spalte.
>
> Som det nu har jeg prøvet med :
> $data['content'] = explode("#", my_wordwrap($data['content'], $textPerColum,
> '#'));
> Og så indsat '#' de steder hvor jeg ønsker at teksten rykkes til næste
> spalte. Men det stemmer ikke overens med det my_wordwrap beregner

uhm, ummildbart funker det fint her, jeg får et array med alle de
strengs i... er det ik det du vil have?

--
Henrik Hansen


Bo Rattenborg (31-01-2003)
Kommentar
Fra : Bo Rattenborg


Dato : 31-01-03 11:50

> uhm, ummildbart funker det fint her, jeg får et array med alle de
> strengs i... er det ik det du vil have?

nu er jeg endelige komme så langt at du kan få et link:
www.easa003.dk/index003.php viser problemet.

Her har jeg indsat et '#' ca. midt i første spalte, for at et tvunget
spalteskift, men det går desværre også ud over den efterfølgende spalte
Bo



Bo Rattenborg (01-02-2003)
Kommentar
Fra : Bo Rattenborg


Dato : 01-02-03 13:35

Jeg tror at løsningen må være at jeg først opdeler min tekst ud fra de
tvungende spalteskift jeg har indsat. Efter dette underopdeler jeg så disse
opdelinger i spalter.

Bo



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

Månedens bedste
Årets bedste
Sidste års bedste