[php] Reguliere expressie team/ club naam

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Thomasje
  • Registratie: Augustus 2002
  • Laatst online: 29-05-2024
Ik heb een aantal team namen van tegenstanders. Dat is niet meer dan de naam van de club met daarachter wel team. Dus krijg je bijvoorbeeld het volgende:

Neptunes 1, Neptunes 2.

Als je zo kijkt weet je natuurlijk meteen dat het over neptunes gaat. Zo wil ik met een reguliere expressie de 1 en de 2 er vanaf halen. Alle cijfers. Je zal wel denken dat is niet zo moeilijk. Nee dat is het ook niet.

Maar nu is er een uitzondering. Er is bijvoorbeeld ook een vereniging die heet Birds '98 dus dan zou je varianten kunnen krijgen als:

Birds '98 1, Birds '98 2

Ik ben al niet zo'n held in expressies dus wie zou mij kunnen helpen. Welke php functie kan ik hier het best voor gebruiken?

Acties:
  • 0 Henk 'm!

  • Sendy
  • Registratie: September 2001
  • Niet online
Je moet eerst je probeem goed afbakenen. Als er altijd een 1-cijferig getal als laatste staat is het probleem (wel heel) erg simpel. Ik zou een regexp-handleidinkje lezen.

Als het ingewikkelder wordt (bijv. niet altijd cijfers, meer-cijferige getallen) dan moet je eerst goed opschrijven hoe, wat en wanneer dat optreed.

Acties:
  • 0 Henk 'm!

Anoniem: 84120

Dus situatie is:
- nummer altijd laatste karakter(s)
- Daarvoor een spatie?

Zoiets:
PHP:
1
2
$clubnaam = preg_split('/ [\d]+$/', $clubnaammetteam);
$clubnaam = $clubnaam[0];


Kan trouwens ook als er altijd spatie voor zit:
PHP:
1
2
3
$clubnaam = explode(' ', $clubnaammetteam);
array_pop($clubnaam);
$clubnaam = implode (' ', $clubnaam);


Maak der eventueel een functie van :)

PHP:
1
2
3
4
5
6
function clubnaam($clubnaammetteam)
{
    $clubnaam = explode(' ', $clubnaammetteam);
    array_pop($clubnaam);
    return implode (' ', $clubnaam);
}


of
PHP:
1
2
3
4
5
function clubnaam($clubnaammetteam)
{
    $clubnaam = preg_split('/ [\d]+$/', $clubnaammetteam);
    return $clubnaam[0];
}
.


Bij de explode methode moet je wel zeker zijn dat er altjd juiste invoer is, anders kan er onverwachte gevolgen zijn. Dus altijd invoer in de vorm: '[clubnaam]<spatie>[clubnummer]'

[ Voor 93% gewijzigd door Anoniem: 84120 op 22-03-2006 14:06 . Reden: Beetje opgeschoond ]


Acties:
  • 0 Henk 'm!

  • Thomasje
  • Registratie: Augustus 2002
  • Laatst online: 29-05-2024
Anoniem: 84120 schreef op woensdag 22 maart 2006 @ 13:58:
Dus situatie is:
- nummer altijd laatste karakter(s)
- Daarvoor een spatie?

Zoiets:
PHP:
1
2
$clubnaam = preg_split('/ [\d]+$/', $clubnaammetteam);
$clubnaam = $clubnaam[0];


Kan trouwens ook als er altijd spatie voor zit:
PHP:
1
2
3
$clubnaam = explode(' ', $clubnaammetteam);
array_pop($clubnaam);
$clubnaam = implode (' ', $clubnaam);


Maak der eventueel een functie van :)
Thnx, ik heb er inderdaad een functie van gemaakt. Werkt super.

Acties:
  • 0 Henk 'm!

Anoniem: 84120

Moet de volgende keer sneller zijn met editten van me post, heb het namelijk zelf al gedaan omdat post beetje zooi was. Sorry :)