Explode met behoud van seperator

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jesse Degger

Jesse Degger

29/07/2009 20:00:00
Quote Anchor link
Hallo PHPHulp,

lang geleden, maar vandaag is het weer zo ver, ik loop even vast. Het zal vast niet zo ingewikkeld zijn maar mijn hersenen komen er even niet uit.

Bij explode is het zo dat als je bijvoorbeeld op een comma "explodeerd" dat de comma niet terug te vinden is in de array. Wat ik nu wil is dat als ik

"ik loop, zonder schoenen" heb en deze explode op een comma dat ik dan krijg in mijn array:

[]=ik loop
[]=,
[]=zonder schoenen

ik hoop dat het duidelijk is.

Met vriendelijke groeten,
Jesse
 
PHP hulp

PHP hulp

20/04/2024 11:36:15
 
Aron K

Aron K

29/07/2009 20:28:00
Quote Anchor link
Een beetje een vieze manier, maar het zal vast doen wat je vraagt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function split($text,$seperator){
$text = str_replace($seperator,$seperator.'[seperatehere]');
return explode($text,'[seperatehere]');
}
 
Jesse Degger

Jesse Degger

29/07/2009 21:03:00
Quote Anchor link
bedankt voor je reactie, het principe werkt maar in de praktijk gaat het niet werken omdat ik tegen een nieuw probleem oploop.

Wat ik wil is dat in de string:

"Hoi :) ik ben jesse" dat hij zichzelf opdeelt in delen. Alles wordt op de volgende manier ingedeeld:

[]="hoi" (type: 1, text)
[]=":)" (type: 2, emoticon)
[]="ik ben jesse" (type 1)

wat ik nu heb werkt prima voor 1 emoticon, deze plaatst hij keurig. maar zodra er een 2e bij komt kan hij moeilijk de explode opnieuw beginnen over de array die eerst een string was. dan krijg je het wel bekende ArrayArrayArray als je 3 emoticons hebt.

Dus heeft iemand een andere oplossing om dit op te delen? het moet dus voor meerdere emoticons kunnen en keurig in stukje vallen.

dus

"hoi :P ik ben jesse :D hoe heet jij (A)?"

moet worden:

[]=hoi (type 1)
[]=:P (type 2)
[]=ik ben jesse (type 1)
[]=:D (type 2)
[]=hoe heet jij (type 1)
[]=(A) (type 2)
[]=? (type 1)

de emoticons komen uit een db met een while.

hopelijk kan iemand me helpen.
Jesse
 
GaMer B

GaMer B

29/07/2009 21:59:00
 
Jesse Degger

Jesse Degger

29/07/2009 22:01:00
Quote Anchor link
Zover was ik ook al in 1 van mijn pogingen maar verder dan de functie kwam ik niet. Ben er geen held in. Sugestie?
 
Jan Koehoorn

Jan Koehoorn

29/07/2009 22:36:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    $smileys
= array (':P', ':D', '(A)');
    $str = 'hoi :P ik ben jesse :D hoe heet jij (A)?';
    foreach ($smileys as $smiley) {
        $str = str_replace ($smiley, '|' . $smiley . '|', $str);
    }

    $array = explode ('|', $str);
    echo '<pre>' . print_r ($array, true) . '</pre>';
?>
 
Jesse Degger

Jesse Degger

30/07/2009 12:00:00
Quote Anchor link
Jep, zo simpel is het :).

bedankt!
 



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.