/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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

Søg
Reklame
Statistik
Spørgsmål : 177522
Tips : 31968
Nyheder : 719565
Indlæg : 6408672
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste