double array onfixbaar

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Kumkwat Trender

Kumkwat Trender

10/01/2009 22:35:00
Quote Anchor link
hoi allemaal,

ik heb een probleem dat echt moeilijk op te lossen is (althans als je mijn manier opvolgt).
s.v.p. eerst uitleg lezen.

Nou heb ik een txt file die best wel groot is.
die wil ik in mijn pdf file omzetten (en aangezien er 100 karakakters per regel passen).
Doe ik het zo
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $text = str_split($get,100); ?>



Als ik het uitvoer met dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
#komt allemaal troep voor
foreach($text as $key => $doe) {
    pdf_show_xy($pdf, $doe, 50, 710-($i*20));
    $i++;
}

?>


En mijn resultaat is een pdf file die goed eruit ziet.
Alleen ziet het er wel langdradig uit..

ik wil minstends mijn kop stukken kunnen weergeven doordat het zo in mijn txt bestand staat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
[h1]koptext[/h1]


Maar als ik een explode gebruik dan heb ik 2 arrays :S, hoe zou ik dit moeten doen??
 
PHP hulp

PHP hulp

09/01/2025 13:50:03
 
Ed

Ed

11/01/2009 02:36:00
Quote Anchor link
Definieer grote textfile.


En verder wil je eigenlijk html opmaak omvormen naar pdf, zoek dat eens op.
 
PHP Newbie

PHP Newbie

11/01/2009 09:21:00
Quote Anchor link
Een goeie regex lost je probleem op. Laat even een stukje uit je tekstbestand zien.

(Is het niet handiger om er een database achter te hangen)
 
Kumkwat Trender

Kumkwat Trender

11/01/2009 14:50:00
Quote Anchor link
Naja ik heb allemaal dingen geprobeerd, en loop nu met anders vast

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$get
    = "<h1>Test</h1>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.<h2>Test</h2>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus libero leo, pellentesque ornare, adipiscing vitae, rhoncus commodo, nulla. Fusce quis ipsum. Nulla neque massa, feugiat sed, commodo in, adipiscing ut, est. In fermentum mattis ligula. Nulla ipsum. Vestibulum condimentum condimentum augue. Nunc purus risus, volutpat sagittis, lobortis at, dignissim sed, sapien. Fusce porttitor iaculis ante. Curabitur eu arcu. Morbi quam purus, tempor eget, ullamcorper feugiat, commodo ullamcorper, neque.";

$get    = preg_replace('#\<h1(.+?)\>#si', '[k]', $get);
$get    = preg_replace('#\<h2(.+?)\>#si', '[k]', $get);
$get    = str_replace('<h1>', '[k]',$get);

$get    = str_replace('</h1>', '[/strip]',$get);
$get    = str_replace('</h2>', '[/strip]',$get);

$get    = str_replace(PHP_EOL, '',strip_tags($get));
$get    = str_replace('    ', '', $get);


$get    = explode('[/strip]',$get);

$aantal    = count($get);
$text    = Array();

for($i=0;$i<$aantal;$i++) {
    $text[$i] = str_split($get[$i], 100);
}


print_r($text);
?>


Dat is de code
en de output:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Array
(
    [0] => Array
        (
            [0] => [k]Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut lab
            [1] => ore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
            [2] => ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse c
            [3] => illum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
            [4] =>  qui officia deserunt mollit anim id est laborum.[k]Lorem ipsum dolor sit amet, consectetur adipisci
            [5] => ng elit. Vivamus libero leo, pellentesque ornare, adipiscing vitae, rhoncus commodo, nulla. Fusce qu
            [6] => is ipsum. Nulla neque massa, feugiat sed, commodo in, adipiscing ut, est. In fermentum mattis ligula
            [7] => . Nulla ipsum. Vestibulum condimentum condimentum augue. Nunc purus risus, volutpat sagittis, lobort
            [8] => is at, dignissim sed, sapien. Fusce porttitor iaculis ante. Curabitur eu arcu. Morbi quam purus, tem
            [9] => por eget, ullamcorper feugiat, commodo ullamcorper, neque.
        )
 
)


is er misschien een mogelijkheid om het zo te maken dat ik zoiets krijg:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
Array
(
    [0] => Array
        (
            [0] => Koptext
            [1] => Content
            [2] => Koptext
            [3] => Content
        )
)
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
Joren de Wit

Joren de Wit

11/01/2009 15:18:00
Quote Anchor link
Zoiets zou je met preg_split wel voor elkaar kunnen krijgen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$sString
= '<h1>Lorem ipsum</h1> dolor sit amet, consectetur adipiscing elit. Praesent fringilla odio in orci gravida gravida. Cras in orci.
Nulla facilisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. <h2>In hac habitasse platea dictumst.</h2> Nullam lacinia pharetra tortor.
Aenean lectus orci, convallis sit amet, gravida nec, bibendum ac, orci. Sed tincidunt tortor a eros. Quisque tincidunt interdum lorem.
Vestibulum lorem. Phasellus tellus libero, porttitor et, porttitor nec, tincidunt ut, quam. Praesent sed mauris.'
;

$aResult = preg_split('_(<h[0-9]>.+?</h[0-9]>)_is', $sString, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);

echo '<pre>'.htmlentities(print_r($aResult, true)).'</pre>';
?>
 
Yorick17

yorick17

11/01/2009 15:18:00
Quote Anchor link
Maar waarom zou je dit in php willen doen?
 
Kumkwat Trender

Kumkwat Trender

11/01/2009 15:23:00
Quote Anchor link
wojow Blanche O_O. wat ik in 30 regels doe doe jij binnen een regel OMG,
Thnx

@yorrick, met wat moet ik het dan doen? met html xD?
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
Joren de Wit

Joren de Wit

11/01/2009 15:26:00
Quote Anchor link
yorick17 schreef op 11.01.2009 15:18:
Maar waarom zou je dit in php willen doen?
Waarmee zou je dit volgens jou dan moeten doen?
 
Yorick17

yorick17

11/01/2009 15:30:00
Quote Anchor link
Gewoon voor definieren
 
Joren de Wit

Joren de Wit

11/01/2009 15:31:00
Quote Anchor link
yorick17 schreef op 11.01.2009 15:30:
Gewoon voor definieren
Verklaar je nader? Dit volg ik niet...
 
Yorick17

yorick17

11/01/2009 15:35:00
Quote Anchor link
In plaats van dat je in je textbestand een soort van ubb code schrijft kun je daar toch ook gelijk html schrijven, dan hoef je het niet om te zetten.
 
Joren de Wit

Joren de Wit

11/01/2009 15:40:00
Quote Anchor link
Yorick, lees zijn vraag nu eerst eens goed. Dan zie je dat jouw antwoord helemaal niet relevant is :-(

Hij wil de kopteksten gescheiden van de content in verschillende entries in een array. Of je nu HTML of UBB code in het text bestand gebruikt, dat doet er niet toe. Het gaat om het scheiden van die kopteksten van de content...
 
Yorick17

yorick17

11/01/2009 15:42:00
Quote Anchor link
Oke maar mijn reactie ging wel om of je ubb of html gebruikt.
 
Joren de Wit

Joren de Wit

11/01/2009 15:44:00
Quote Anchor link
yorick17 schreef op 11.01.2009 15:42:
Oke maar mijn reactie ging wel om of je ubb of html gebruikt.
Je weet niet in wat voor soort systeem het zit. Je weet niet of het wel een optie is om daartussen te switchen. Je weet niet waar de betreffende tekst vandaan komt. Je kunt dus totaal geen afweging maken welke optie beter is.

Kortom, de TS heeft 3x niets aan je opmerking. Helaas... :-(
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Yorick17

yorick17

11/01/2009 15:46:00
Quote Anchor link
Oke oke, maar ik probeer ook alleen maar te helpen hoor.
 
Joren de Wit

Joren de Wit

11/01/2009 15:50:00
Quote Anchor link
yorick17 schreef op 11.01.2009 15:46:
Oke oke, maar ik probeer ook alleen maar te helpen hoor.
Met alle respect maar als je het antwoord niet weet of totaal niet op de vraag reageert, reageer dan liever niet. Dit lijkt meer op het willen opkrikken van je postcount dan het serieus helpen...
 
Yorick17

yorick17

11/01/2009 15:50:00
Quote Anchor link
Blanche schreef op 11.01.2009 15:50:
yorick17 schreef op 11.01.2009 15:46:
Oke oke, maar ik probeer ook alleen maar te helpen hoor.
Met alle respect maar als je het antwoord niet weet of totaal niet op de vraag reageert, reageer dan liever niet. Dit lijkt meer op het willen opkrikken van je postcount dan het serieus helpen...


Dat was niet de bedoeling in ieder geval.
 
Kumkwat Trender

Kumkwat Trender

11/01/2009 16:40:00
Quote Anchor link
@blanche ik heb dit gevonden op php.net
linkje

hoe kan ik dat ook nog erbij zetten?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$aResult
= preg_split('_<h[0-9]>(.+?)</h[0-9]>_is', $get, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
?>


er passen 100 karakters per regel in een pdf vandaar..

Edit:
ow, w8.
ik snap al wat ik moet doen .. -_-'
ik dacht dat /[\40] de aantal karakters waren, vandaar.
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
Joren de Wit

Joren de Wit

11/01/2009 16:57:00
Quote Anchor link
Je geeft zelf het antwoord al, die maximum lengte komt verderop in dat voorbeeldje pas aan bod ;-)
 
Kumkwat Trender

Kumkwat Trender

11/01/2009 17:08:00
Quote Anchor link
Nja,
Het uit elkaar scheiden door middel van spatie, als ik dat doe dan krijg ik 2 arrays door elkaar heen :S
 
Joren de Wit

Joren de Wit

11/01/2009 17:13:00
Quote Anchor link
Het lijkt mij makkelijker om eerst met behulp van preg_split() ervoor te zorgen dat je koptekst van content scheidt. Vervolgens kun je dan wel met wordwrap() aan de gang om te zorgen dat je maximaal 100 tekens per regel krijgt...
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.