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