Probleem met Explode

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SXForce

SXForce

17/03/2009 18:52:00
Quote Anchor link
Het probleem:
Ik wil niet per regel het bestand uit elkaar halen, maar per een variabel aantal regels.

Het bestand:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
1
00:00:00,100 --> 00:00:02,099
Wat vooraf ging in deze serie.

2
00:00:02,100 --> 00:00:03,999
Wat heeft, wat jij doet in
de ziekenafdeling,

3
00:00:04,000 --> 00:00:05,699
te maken met wat wij
hier doen?


Wat ik nu zou willen is dat hij dit bestand uit elkaar haalt in die regels waar een lege regel staat.
Dus bijv regel 0 zou dan zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
1
00:00:00,100 --> 00:00:02,099
Wat vooraf ging in deze serie.


En dan zo verder...

Nu probeer ik dit met dit stukje code, maar het wilt maar niet lukken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
   $regel
= $_GET['regel'];
   $bestand = $_GET['f'];

   $srtFile = $bestand;

   $fp = fopen($srtFile, "r");
   $content = fread($fp, filesize($srtFile));
   $regels = explode("\n\n",$content);
   fclose($fp);

   echo $regels[$regel];
?>


Voorbeeld:
http://www.glorb.nl/beta/split/?f=file1.srt&regel=0


Kan iemand mij helpen?
Gewijzigd op 01/01/1970 01:00:00 door SXForce
 
PHP hulp

PHP hulp

24/11/2024 11:01:33
 
Mike van Dongen

Mike van Dongen

17/03/2009 19:11:00
Quote Anchor link
Je bent al aardig opweg, alleen een nieuwe regel is \r\n ipv. \n

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
   $regels
= explode("\r\n\r\n",$content);
?>
Gewijzigd op 01/01/1970 01:00:00 door Mike van Dongen
 
SXForce

SXForce

17/03/2009 19:13:00
Quote Anchor link
BEDANKT!!!!!!

HET WERKT!!! Nee caps lock staat niet aan. :P

Van waar die \r ineens dan, die heb ik serieus nog nooit ergens zien staan, en ben al best lang aan het programmeren. :P
 
Mike van Dongen

Mike van Dongen

17/03/2009 19:18:00
Quote Anchor link
Die \r (return) zorgt er voor dat je naar het begin van de regel gaat en \n (newline) zorgt er voor dat je naar de volgende regel gaat.
Ik weet het niet zeker hoor :P
Volgensmij heeft het te maken met het DOS tijdperk.
 
GaMer B

GaMer B

17/03/2009 19:38:00
Quote Anchor link
Tip: Ga nou niet kloten met \r of \n, maar gebruik nou de ingebouwde PHP constante: PHP_EOL.

Voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$regels
= explode(PHP_EOL, $content);
?>


PHP_EOL staat in Windows voor \r\n en in Linux voor \r of iets dergelijks. Maar die line-breaks zijn per Operating System anders, daarom kun je maar beter zo'n ingebouwde constante gebruiken.
 



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.