abonnement Unibet Coolblue Bitvavo
pi_25672151
De vraag is natuurlijk wat er allemaal onder "rotzooi" valt.
pi_25672203
Dit:

1
2
3
4
01 Artiestnaam
[01] Artiestnaam
(01) Artiestnaam
01. Artiestnaam


Alles voor "Artiestnaam" moet weg in bovenstaande gevallen

Een paar voorbeelden die ik in mijn playlist tegen kom:
1
2
3
4
(01) Foo Fighters (- All My Life)
01 doe maar (- sinds een dag of twee)
01_solar_fields_ (-_union_light) (underscores worden vervangen door een andere filter)
10. Magic Box (- Carillon)


Het betreft alleen de artiestnaam. De nummers, tussen haakjes, zijn in deze vraag niet relevant.
  FOK!-Schrikkelbaas dinsdag 22 maart 2005 @ 22:55:29 #33
1972 Swetsenegger
Egocentrische Narcist
pi_25672263
Wat light zegt
Je weet in dit geval eigenlijk 'niets'.
De artiesten naam heeft geen standaard patroon, want dat kan alles zijn, van letters, cijfers, etc in willekeurige volgorde EN de 'rotzooi' kan alles zijn in willekeurige volgorde.

Je hebt dus erg weinig houvast. een reguliere expressie herkent immers een patroon, welke er in jouw geval niet is...
pi_25672458
quote:
Op dinsdag 22 maart 2005 22:55 schreef Swetsenegger het volgende:

Je hebt dus erg weinig houvast. een reguliere expressie herkent immers een patroon, welke er in jouw geval niet is...
Misschien kom ik erg dom en vasthoudend over, maar volgens mij is er wel een patroon. Vanaf de linkerkant van de string (de eerste character):
- niks, een '(', of een '['
- Getal van twee cijfers
- niks, een ')', of een ']'
- mogelijk een punt
- Een spatie

Hiermee wordt alles uit mijn vorige post gematched. Een artiestnaam als "Massive Attack" niet, die voldoet niet aan de eisen, een artiestnaam als "(01) Foo Fighters" wel.
pi_25672554
Het begint al met de "rotzooi". Als je een artiest hebt waarbij de naam begint met een paar nummers dan hang je meteen al. Dus iets als
101 doe maar (- sinds een dag of twee)
is eigenlijk niet meer te filteren. En de scheiding tussen artist en title is ook niet duidelijk, het wordt makkelijker als je daar een " - " kunt garanderen. Maar dan blijf je met het probleem zitten van die artiesten waarvan de naam begint met cijfers.
  FOK!-Schrikkelbaas dinsdag 22 maart 2005 @ 23:05:15 #36
1972 Swetsenegger
Egocentrische Narcist
pi_25672623
quote:
Op dinsdag 22 maart 2005 23:00 schreef Heliospan het volgende:

[..]

Misschien kom ik erg dom en vasthoudend over, maar volgens mij is er wel een patroon. Vanaf de linkerkant van de string (de eerste character):
- niks, een '(', of een '['
- Getal van twee cijfers
- niks, een ')', of een ']'
- Een spatie

Hiermee wordt alles uit mijn vorige post gematched. Een artiestnaam als "Massive Attack" niet, die voldoet niet aan de eisen, een artiestnaam als "(01) Foo Fighters" wel.
Dat klopt, maar [.01.] zal blijven staan
Ik zal eens gaan puzzelen, maar niet vanavond
pi_25672679
quote:
Op dinsdag 22 maart 2005 23:03 schreef Light het volgende:
Het begint al met de "rotzooi". Als je een artiest hebt waarbij de naam begint met een paar nummers dan hang je meteen al.
Dat klopt. Alleen als een artiestnaam begint met 01 t/m 09 zou het in dat geval te filteren zijn. Er is geen bandnaam die met die tekens begint.
quote:
En de scheiding tussen artist en title is ook niet duidelijk, het wordt makkelijker als je daar een " - " kunt garanderen. Maar dan blijf je met het probleem zitten van die artiesten waarvan de naam begint met cijfers.
Dat zijn twee verschilende variabelen. Dus ja, kan ik garanderen
pi_25672718
Beetje laat .
Die Welt ist alles was der Fall ist.
pi_25673272
quote:
Op dinsdag 22 maart 2005 23:06 schreef Heliospan het volgende:

[..]

Dat klopt. Alleen als een artiestnaam begint met 01 t/m 09 zou het in dat geval te filteren zijn. Er is geen bandnaam die met die tekens begint.
Maar je hebt soms meer dan 9 tracks op een cd. En op lyrics.com vind ik wel "16 Horsepower", die gaat dus ook mis.
quote:
[..]

Dat zijn twee verschilende variabelen. Dus ja, kan ik garanderen
Ok, dat scheelt Dan wordt het dus iets van filteren voor die cijfers en de rest, en dan die rest teruggeven. Het gedeelte "rest" is niet zo lastig, maar het gedeelte met de cijfers kan eventueel lastig zijn. Er is wel iets voor te vinden maar dan kan ik niet garanderen dat die 16 Horsepower goed gaat (sterker, die gaat fout).

Je gaat dan iets krijgen als
1/[(\[\(]?[01]\d\.?[\)\]]?\s(.*)/

Maar die regexp is niet getest. Ik ga er wel vanuit dat je de underscores eerst al door spaties vervangt.
pi_25673561
Ik heb net een alternatief stuk geschreven, maar heb het liever in een pattern. Maar misschien snappen jullie het als je deze code even probeert:

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
//  $art = "08 Test";            WEL
//    $art = "[12] Test";            WEL
//    $art = "{01} Test";            WEL
//    $art = "(01) Test";            WEL
//    $art = "09. Test";            WEL
//    $art = "Massive Attack";    NIET
//    $art = "182 Stitches";        NIET

    
$crap_begin = array("[", "(", "{");
    
$crap_eind = array("]", ")", "}");
    
    if(
in_array( substr( $art, 0, 1 ), $crap_begin )
        &&
in_array( substr( $art, ( strpos ($art, " ") - 1 ), 1), $crap_eind) )
            
$art = substr( $art, ( strpos ( $art, " ") + 1 ) );

    if(
substr( $art, 0, 1 ) == "0"
        
&& preg_match( "/[0-9]/", substr( $art, 1, 1 ) ) )
            
$art = substr( $art, 2 );

    if(
substr( $art, 0, 1 ) == "." )
            
$art = substr( $art, 1 );

    
$art = trim($art);
?>


@Light; ik probeer het even, bedankt

-edit-
Lijkt met een kleine wijziging goed te werken! Bedankt!

[ Bericht 2% gewijzigd door Heliospan op 22-03-2005 23:45:17 ]
pi_25674305
quote:
Op dinsdag 22 maart 2005 23:32 schreef Heliospan het volgende:

Lijkt met een kleine wijziging goed te werken! Bedankt!
Dan ben ik toch benieuwd wat je eraan hebt aangepast
pi_25674351
Deze werkt goed op de test-set:

1$clean = preg_replace('#^\s*[({[]?[01]?[0-9]?[)}\x5d.]?(?!\d)\s*#', '', $dirty);


1
2
3
4
5
6
7
8
9
10
#            
^            begin string
\s*          0 of meer spaties of tabs
[({[]?       0 of 1 keer een (, { of [
[01]?        0 of 1 keer een 0 of 1
[0-9]?       0 of 1 keer een cijfer
[)}\x5d.]?   0 of 1 keer een ), }, ] of .
(?!\d)       niet gevolgd door een cijfer
\s*          0 of meer spaties of tabs
#


[ Bericht 63% gewijzigd door SuperRembo op 23-03-2005 00:18:15 ]
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_25675252
Light, ik maakt [09] van [01]. Volgens de uitleg van SuperRembo behoort dat echter niet te werken. Ik ben verward. Meerdere mensen duidden regexp aan als hoofdpijnwerk in vorige topics, en daar sluit ik me helemaal bij aan.

SuperRembo, ook bedankt! Deze werkt ook goed, behalve weer bij 16 Horsepower. Ik zal proberen een goede tussenweg te vinden
pi_25676068
Kan je niet gewoon onderstaande gebruiken:

$songtitle = preg_replace('/^[^a-z]*/i', $songtitle);

?

-r-
pi_25676188
quote:
Op woensdag 23 maart 2005 01:28 schreef Heliospan het volgende:
SuperRembo, ook bedankt! Deze werkt ook goed, behalve weer bij 16 Horsepower. Ik zal proberen een goede tussenweg te vinden
Zonder extra informatie over bestaande titels kan je die nooit onderscheiden van "16 Foo Fighters". Kan je niet beter zoeken in http://www.freedb.org?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_25677046
tvp
pi_25677291
quote:
Op dinsdag 22 maart 2005 23:55 schreef SuperRembo het volgende:
Deze werkt goed op de test-set:
[ code verwijderd ]


[ code verwijderd ]
Dus 2pac wordt ook pac. Lijkt me niet de bedoeling eigenlijk.
  woensdag 23 maart 2005 @ 10:48:31 #49
93888 KillAuthority
Live Fast, Die Fun!
pi_25678655
hey in een gastenboek of op een forum kun je berichten toevoegen via een textarea (uiteraard). Als je dan in dit textarea een enter geeft

zoals dit dan wordt later bij het bekijken van het bericht die enter ook weergegeven dus een <br>
maar bij mij krijg ik 1 spatie te zien.

moet krijg ik het voor elkaar dat ik dus ook een enter te zien krijg bij het bekijken van het bericht? is dit een instelling in de database (mysql) of php/html?
The crew is out tonight!
pi_25680934
1
2
3
<?php
nl2br
();&lt;
?>
pi_25681048
quote:
Op woensdag 23 maart 2005 09:31 schreef Light het volgende:

[..]

Dus 2pac wordt ook pac. Lijkt me niet de bedoeling eigenlijk.
Klopt, die laatste \s* zou beter \s+ kunnen zijn.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas woensdag 23 maart 2005 @ 17:19:56 #52
1972 Swetsenegger
Egocentrische Narcist
pi_25687628
Doet er hier iemand wat met firebird (interbase) databases en php?
pi_25692022
qua php en mysql ben ik echt een beginneling.
Moet voor een website wat dingen in een database zetten.

Ik heb nu een sql database aangemaakt (online bij een gratis server die php en sql ondersteund):
de database is al gevuld, maar heo krijg ik de boel er nu uit eigenlijk, hoe ziet de php code eruit als ik de totale inhoud eruit wil krijgen:

inhoud:
quote:
colid colnaam colkm colindex colhoogte
1 MONT VENTOUX (!) 2497 12.4 1909
2 COL DU TOURMALET 1625 11.0 2115
etc etc
tabelnaam: cols
pi_25692145
quote:
Op woensdag 23 maart 2005 20:17 schreef achterop23 het volgende:
qua php en mysql ben ik echt een beginneling.
Moet voor een website wat dingen in een database zetten.

Ik heb nu een sql database aangemaakt (online bij een gratis server die php en sql ondersteund):
de database is al gevuld, maar heo krijg ik de boel er nu uit eigenlijk, hoe ziet de php code eruit als ik de totale inhoud eruit wil krijgen:

inhoud:
[..]
1
2
3
4
5
6
/* Eerst verbinding maken met de db en tabel selecteren ofcourse */
$query = 'SELECT * FROM tabel';
$result = mysql_query($query);
while($rij = mysql_fetch_array($result)) {
/* Doe iets met de rij, echo bv. */
}
pi_25701516
hoe heet die functie ookalweer die van 'deze teksten enzo' maakt: 'deze teksten....'

?
  FOK!-Schrikkelbaas donderdag 24 maart 2005 @ 10:02:45 #56
1972 Swetsenegger
Egocentrische Narcist
pi_25701950
quote:
Op donderdag 24 maart 2005 09:23 schreef jeroen-heeft-koffie-nodig het volgende:
hoe heet die functie ookalweer die van 'deze teksten enzo' maakt: 'deze teksten....'

?
bedoel je substr ?
pi_25702167
hmm heb even op php.net gekeken maar dat is hem niet. Hij moet de tekst inkorten tot een bepaald aantal tekens, en de rest vervangen voor puntjes
pi_25702208
quote:
Op donderdag 24 maart 2005 10:19 schreef jeroen-heeft-koffie-nodig het volgende:
hmm heb even op php.net gekeken maar dat is hem niet. Hij moet de tekst inkorten tot een bepaald aantal tekens, en de rest vervangen voor puntjes
<?
$string = "Dit moet ingekort worden door 20 karakters";
$string = substr("$string", 0, 20);
$string = "$string" . "...";
?>

Niet getest, je moet hem natuurlijk uitbreiden (bijvoorbeeld is de string niet eens 20 karakters lang).
ne okuyon, bokmu var?
pi_25702211
Daar is geen standaard php functie voor. Dat zal je zelf moeten maken. Zo moeilijk is 't niet.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas donderdag 24 maart 2005 @ 10:27:14 #60
1972 Swetsenegger
Egocentrische Narcist
pi_25702267
quote:
Op donderdag 24 maart 2005 10:19 schreef jeroen-heeft-koffie-nodig het volgende:
hmm heb even op php.net gekeken maar dat is hem niet. Hij moet de tekst inkorten tot een bepaald aantal tekens, en de rest vervangen voor puntjes
substr dus, zie saban
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')