|
| noget med at slette ting fra en m3u fil Fra : Martin |
Dato : 19-07-01 12:44 |
|
Ja jeg er stødt ind i et lille problem med en m3u fil
*altså en Winamp playlist*
Jeg sidder og leger med en masse ereg_replace og sådanne ting.
Mit problem er at jeg gerne vil have fjernet lidt ting som jeg ikke
lige kan få smidt væk...
Så langt her er jeg kommet
205 // I tid tabellen
666 - // I artist tabellen
Alarma ! // I title tabellen
666\666 - // SKAL SMIDES VÆK
Alarma ! // SKAL SMIDES VÆK
383 // I tid tabellen
666 - // I Artist tabellen
Bomba! // I title tabellen
666\666 - // SKAL SMIDES VÆK
Bomba (Mix) // SKAL SMIDES VÆK
Så vil jeg jeg gerne have det skrevet på en eller anden fin måde i en
tabel.. som fx nedenunder
Tid Artist Title
205 666 Alarma
383 666 Bomba!
Men hvordan kan det gøres???
Det må være et eller andet med at ved hver 3 linje så smides 2 linjer
væk men kan altså ik lige hitte ud af det
Nogen der kan være rar med at hjælpe
--
Bye for now Martin
http://wizprod.com - Billigt webdesign findes her
http://natten-i.dk - http://kew.natten-i.dk
Email: martini@mailme.dk - admin@natten-i.dk
| |
Johan (19-07-2001)
| Kommentar Fra : Johan |
Dato : 19-07-01 14:45 |
|
> Det må være et eller andet med at ved hver 3 linje så smides 2 linjer
> væk men kan altså ik lige hitte ud af det
>
> Nogen der kan være rar med at hjælpe
Gider du smide filen online et sted? Det er liiiidt svært at se det fra din
forklaring, så kan jeg kigge lidt nærmere på lidt replace ting
/Johan
| |
Martin (19-07-2001)
| Kommentar Fra : Martin |
Dato : 19-07-01 21:20 |
|
On Thu, 19 Jul 2001 15:44:30 +0200, "Johan" <tcr480@ofir.dk> wrote:
>> Det må være et eller andet med at ved hver 3 linje så smides 2 linjer
>> væk men kan altså ik lige hitte ud af det
>>
>> Nogen der kan være rar med at hjælpe
>
>Gider du smide filen online et sted? Det er liiiidt svært at se det fra din
>forklaring, så kan jeg kigge lidt nærmere på lidt replace ting
>
>/Johan
>
Det er hermed gjort!
http://www.natten-i.dk/test/eregting/
--
Bye for now Martin
http://wizprod.com - Billigt webdesign findes her
http://natten-i.dk - http://kew.natten-i.dk
Email: martini@mailme.dk - admin@natten-i.dk
| |
Johan (20-07-2001)
| Kommentar Fra : Johan |
Dato : 20-07-01 08:01 |
|
> Det er hermed gjort!
> http://www.natten-i.dk/test/eregting/
Hmm, ville nu hellere have haft den i tekstformat, men hvad... regner med
den ser således ud:
205
666 -
Alarma !
666\666 -
Alarma !
383
666 -
Bomba!
666\666 -
Bomba (Mix)
altså uden <BR> tags ik?
Kigger lige på det!
/Johan
| |
Johan (20-07-2001)
| Kommentar Fra : Johan |
Dato : 20-07-01 08:22 |
|
> Det er hermed gjort!
> http://www.natten-i.dk/test/eregting/
Prøv at leg lidt med denne her kode, den er ikke testet, og er ret dårlig,
(nok bedre at bruge et 2 dimensionalt array istedet, men du skal jo også
arbejde lidt selv.). Men leg lidt med det, og få nogle ideer selv, og kom
tilbage når/hvis der er flere problemer:
<?php
$MoveToTime = 0;
$MoveToArtist = 1;
$MoveToTitle = 2;
$TimeArrID = 1;
$ArtistArrID = 1;
$TitleArrID = 1;
$TimeArr = array();
$ArtistArr = array();
$TitleArr = array();
$M3Ufilename = "filenavn.m3u";
$M3Ucontent = file($M3Ufilename);
while(list($LineNumber, $LineContent) = each($M3Ucontent)) {
if($LineNumber == $MoveToTime) {
array_push($TimeArr, $TimeArr=>$LineContent);
$MoveToTime += 3;
$TimeArr++;
}
elseif($LineNumber == $MoveToArtist) {
array_push($ArtistArr, $ArtistArr=>$LineContent);
$MoveToArtist += 3;
$ArtistArr++;
}
elseif($LineNumber == $MoveToTitle) {
array_push($TitleArr, $TitleArr=>$TitleContent);
$MoveToTitle += 3;
$TitleArr++;
}
}
£ArrLength = count($ArtistArr);
ksort($TimeArr);
reset($TimeArr);
ksort($ArtistArr);
reset($ArtistArr);
ksort($TitleArr);
reset($TitleArr);
echo "Time Artist Title<br>";
for($i=1; $i <= $ArrLength; $i++) {
echo $TimeArr[$i];
echo " ".$ArtistArr[$i];
echo " ".$TitleArr[$i]."<br>";
}
?>
mvh
Johan
| |
Henrik Christensen (20-07-2001)
| Kommentar Fra : Henrik Christensen |
Dato : 20-07-01 19:40 |
|
>Ja jeg er stødt ind i et lille problem med en m3u fil
>Så vil jeg jeg gerne have det skrevet på en eller anden fin måde i en
>tabel.. som fx nedenunder
>Tid Artist Title
>205 666 Alarma
>383 666 Bomba!
>Men hvordan kan det gøres???
<html>
<head>
<title>Test m3u</title>
</head>
<body>
<table summary="" border="1">
<tr><th>Tid</th><th>Artist</th><th>Title</th></tr>
<?php
$m3u = fopen('c:\apache\htdocs\test.m3u', 'r');
while (!feof($m3u))
{
$temp = fgets($m3u,'10000');
$templist=explode(':',$temp);
while(list($i,$v)=each($templist))
{
if(ereg('^[0-9]',$v))
{
$TidArtistTitle[]=$v;
}
}
}
fclose($m3u);
while(list($a,$b)=each($TidArtistTitle))
{
$Tid=explode(',', $b);
$ArtistTitle=explode('-', $Tid[1]);
echo "<tr><td>$Tid[0]<td>$ArtistTitle[0]<td>$ArtistTitle[1]";
}
?>
</table>
</body>
</html>
-------------------
Filen test.m3u kan du finde i dk.binaer 20-07-01 19:57
Mvh
HC
| |
Martin (20-07-2001)
| Kommentar Fra : Martin |
Dato : 20-07-01 21:45 |
|
On Fri, 20 Jul 2001 20:40:22 +0200, Henrik Christensen
<hc-news@post.cybercity.dk> wrote:
>>Ja jeg er stødt ind i et lille problem med en m3u fil
>
>>Så vil jeg jeg gerne have det skrevet på en eller anden fin måde i en
>>tabel.. som fx nedenunder
>
>>Tid Artist Title
>>205 666 Alarma
>>383 666 Bomba!
>
>>Men hvordan kan det gøres???
>
[SNIP en masse god html ]
Tak for det siger jeg bare MEEEN
666\666 - Alarma !.mp3
Den linje vil jeg gerne have væk... hvis det ellers kan lade sig gøre
Tid Artist Title
205 666 Alarma !
666\666 - Alarma !.mp3
383 666 Bomba!
666\666 - Bomba (Mix).mp3
Det er lige brugt fra min m3u list...
--
Bye for now Martin
http://wizprod.com - Billigt webdesign findes her
http://natten-i.dk - http://kew.natten-i.dk
Email: martini@mailme.dk - admin@natten-i.dk
| |
Henrik Christensen (21-07-2001)
| Kommentar Fra : Henrik Christensen |
Dato : 21-07-01 08:12 |
|
>666\666 - Alarma !.mp3
>Den linje vil jeg gerne have væk... hvis det ellers kan lade sig gøre
Jeg kan ikke lide....
Title Deepe,
Artist B.B.E.
Musik der er længer end 400 sek
Så væk med dem.
while(list($a,$b)=each($TidArtistTitle))
{
$temp=explode(',', $b);
$tempArtist=explode('-', $temp[1]);
$Tid=$temp[0];
$Artist=$tempArtist[0];
$Title=$tempArtist[1];
if (ereg('Deeper', $Title) || ereg('B.B.E.', $Artist) || $Tid > 400 )
{
;
}
else
{
echo "<tr><td>$Tid<td>$Artist<td>$Title";
}
}
--------------------------------------------------------------------------------------------
Så prøv med
if(ereg('666\666 - Alarma !.mp3',$Title) || ereg('666\666 - Bomba(Mix).mp3',$Title))
Mvh
HC
| |
Martin (22-07-2001)
| Kommentar Fra : Martin |
Dato : 22-07-01 17:38 |
|
On Sat, 21 Jul 2001 09:12:26 +0200, Henrik Christensen
<hc-news@post.cybercity.dk> wrote:
>
>>666\666 - Alarma !.mp3
>>Den linje vil jeg gerne have væk... hvis det ellers kan lade sig gøre
>
>Jeg kan ikke lide....
>Title Deepe,
>Artist B.B.E.
>Musik der er længer end 400 sek
>Så væk med dem.
>
>while(list($a,$b)=each($TidArtistTitle))
>{
> $temp=explode(',', $b);
> $tempArtist=explode('-', $temp[1]);
> $Tid=$temp[0];
> $Artist=$tempArtist[0];
> $Title=$tempArtist[1];
>
> if (ereg('Deeper', $Title) || ereg('B.B.E.', $Artist) || $Tid > 400 )
> {
> ;
> }
> else
> {
> echo "<tr><td>$Tid<td>$Artist<td>$Title";
> }
>}
>--------------------------------------------------------------------------------------------
>Så prøv med
> if(ereg('666\666 - Alarma !.mp3',$Title) || ereg('666\666 - Bomba(Mix).mp3',$Title))
Problemet med ovenstående ereg er at jeg jo ikke "kender" 666\666....
da det jo er forskelligt fra sang til sang!
men kan man ikke lave noget der fjerner linje hver anden linje...?
if (\n*2) {
delete;
}
et eller andet i den stil agtigt!
>
>Mvh
>
>HC
>
--
Bye for now Martin
http://wizprod.com - Billigt webdesign findes her
http://natten-i.dk - http://kew.natten-i.dk
Email: martini@mailme.dk - admin@natten-i.dk
| |
Christian Joergensen (22-07-2001)
| Kommentar Fra : Christian Joergensen |
Dato : 22-07-01 17:48 |
|
Martin <martini@mailme.dk> wrote:
> men kan man ikke lave noget der fjerner linje hver anden linje...?
Nu har jeg ikke læst hele tråden, men:
<?php
## utestet ##
$list = "playlist.m3u";
$fil = file($list);
unlink($list);
$fp = fopen($list,w);
foreach($fil as $linie) {
if ($n%2==0) fputs($fp, $linie);
$n++;
}
fclose($fp);
?>
ps. vi ses tirsdag :)
--
Christian Jørgensen | "Ford, you're turning into a penguin"
http://www.razor.dk | "Stop it"
| |
Henrik Christensen (22-07-2001)
| Kommentar Fra : Henrik Christensen |
Dato : 22-07-01 19:19 |
|
>Problemet med ovenstående ereg er at jeg jo ikke "kender" 666\666....
>da det jo er forskelligt fra sang til sang!
Hvis det er alle titler, der starter med 666,
du ikke vil have med, så skal det her tegn ^ foran.
Så prøv med...
if(ereg("^ 666", $Title))
Mvh.
HC
PS. Hvis det ikke virker, så send lige din *.m3u file til dk.binaer,
eller som vedhæftet file til hc-news@post.cybercity.dk
| |
Martin (22-07-2001)
| Kommentar Fra : Martin |
Dato : 22-07-01 20:47 |
|
On Sun, 22 Jul 2001 20:18:45 +0200, Henrik Christensen
<hc-news@post.cybercity.dk> wrote:
>>Problemet med ovenstående ereg er at jeg jo ikke "kender" 666\666....
>>da det jo er forskelligt fra sang til sang!
>
>Hvis det er alle titler, der starter med 666,
>du ikke vil have med, så skal det her tegn ^ foran.
>
>Så prøv med...
>
>if(ereg("^ 666", $Title))
Tror du misforstod mig... men i min m3u fil ligger der jo en del filer
som jeg ikke lige kender hverken titel eller artist på!
--
Bye for now Martin
http://wizprod.com - Billigt webdesign findes her
http://natten-i.dk - http://kew.natten-i.dk
Email: martini@mailme.dk - admin@natten-i.dk
| |
Martin (23-07-2001)
| Kommentar Fra : Martin |
Dato : 23-07-01 00:42 |
|
[SNIP]
Så nu behøver jeg ikke mere hjælp
jeg fandt et program som laver en m3u fil om til lidt mere "anstændig"
tekst også smider jeg den fil ind i et 3 dim. array også kører det
Men 1000 tak for hjælpen..
jeg kan se jeg ska kigge lidt på explode() og implode() og regex.
PS. Hvorfor er regex så langsomt ??
--
Bye for now Martin
http://wizprod.com - Billigt webdesign findes her
http://natten-i.dk - http://kew.natten-i.dk
Email: martini@mailme.dk - admin@natten-i.dk
| |
Peter Brodersen (23-07-2001)
| Kommentar Fra : Peter Brodersen |
Dato : 23-07-01 00:53 |
|
On Mon, 23 Jul 2001 01:41:56 +0200, Martin <martini@mailme.dk> wrote:
>PS. Hvorfor er regex så langsomt ??
Regex behøver ikke at være langsomt, men kan indikere, at man har et
uhensigtsmæssigt udtryk.
Derudover kan en simpel hjælp være at gå fra ereg til preg_match
(kræver bare, at ens PHP ikke er kæmpegammel), hvis man vitterligt har
meget data at kigge igennem.
--
- Pede
Professionel nørd
| |
|
|