login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[PHP] Alleen bepaalde tekens in een string toegestaan.

Offline Godlord - 14/03/2007 19:43
Avatar van GodlordPHP gevorderde Hoi iedereen.

Ik zoek een functie of script om te zoeken naar ongeldige tekens in een string. Ik wil dus dat er in een string op mijn site alleen cijfers, lower- en uppercase en de volgende tekens kan gebruikt worden.
Citaat:
_-=!@%&()[]{}.,?

Heeft iemand hier een script voor?

Alvast Bedankt.

13 antwoorden

Gesponsorde links
Offline Ibrahim - 14/03/2007 19:46
Avatar van Ibrahim PHP expert
  1. preg_match('[a-zA-Z0-9_-=!@%&()\[\]\{\}\.,\?]+', 'text')
Offline Martijn1989 - 14/03/2007 19:47
Avatar van Martijn1989 PHP ver gevorderde Kijk eens naar een email verificatie .. preg_eregi ofzow.
Offline Godlord - 14/03/2007 19:52
Avatar van Godlord PHP gevorderde siliecom14 wat returnt de functie als er een teken is die niet in de reeks is?
Offline Mad_Mike - 14/03/2007 19:54
Avatar van Mad_Mike PHP beginner false?:lamp: gewoon ff testen lijkt me niet al te veel moeite
Offline Godlord - 14/03/2007 19:58 (laatste wijziging 14/03/2007 20:00)
Avatar van Godlord PHP gevorderde
  1. Parse error: syntax error, unexpected ']' in D:\Web Server\home\a.php on line 2


Edit:
  1. <?
  2. if (preg_match('[a-zA-Z0-9_-=!@%&()\[\]\{\}\.,\?]+', '$xD'] === false) {
  3. echo 'false!';
  4. } else {
  5. echo 'huh?';
  6. }
  7. ?>
Offline Gerard - 14/03/2007 20:03
Avatar van Gerard Ouwe rakker @Godlord

Misschien een idee om de werking van PHP.net: preg_match dan op te zoeken op php.net?

Citaat:
Return Values

preg_match() returns the number of times pattern matches. That will be either 0 times (no match) or 1 time because preg_match() will stop searching after the first match. preg_match_all() on the contrary will continue until it reaches the end of subject. preg_match() returns FALSE if an error occurred.
Offline Godlord - 14/03/2007 20:15
Avatar van Godlord PHP gevorderde Nu snap ik er niet meer veel van 
Offline Abbas - 14/03/2007 21:45
Avatar van Abbas Gouden medaille

Crew .NET
Je werkt hier met een reguliere expressie. Je ingevoerde waarde moet voldoen aan een bepaald patroon, voldoet je invoer aan het patroon krijg je automatisch een TRUE terug en doe je wat je wil met de invoer, anders krijg je FALSE terug en geef je bvb. een foutmelding.
Zoals Proximus reeds zei: lees er eerst eens een beetje over in een boek of op php.net! Als je dit begrijpt kan je het wel oplossen denk ik... 
Offline Dark_Paul - 14/03/2007 22:03
Avatar van Dark_Paul PHP ver gevorderde En let op je haakjes...
Offline Godlord - 15/03/2007 16:03
Avatar van Godlord PHP gevorderde Ik snap niks van die haakjes als die door siliecom er zo zijn ingezet dan zou ik ook eigenlijk verwachten dat het zou moeten werken en ik heb geen boek en PHP.net vind ik eigenlijk een beetje rommelig.
Offline Ibrahim - 15/03/2007 16:09
Avatar van Ibrahim PHP expert het gaat niet om de haakjes binnen de regex maar jij gebruikt de vierkante haakjes terwijl je de ronde moet gebruiken !
Offline Godlord - 15/03/2007 16:53
Avatar van Godlord PHP gevorderde Jij gaf me het met vierkante, moet je niet mij de schuld geven. .
Offline Ibrahim - 15/03/2007 17:08 (laatste wijziging 15/03/2007 17:09)
Avatar van Ibrahim PHP expert
  1. <?
  2. if (preg_match('[a-zA-Z0-9_-=!@%&()\[\]\{\}\.,\?]+', '$xD'] === false) {
  3. echo 'false!';
  4. } else {
  5. echo 'huh?';
  6. }
  7. ?>


deze onzin code heeft niemand jou gegeven, je gebruikt het zo:

  1. if( preg_match('~[a-zA-Z0-9_-=!@%&()\[\]\{\}\.,\?]+~', $string) )
  2. {
  3. // juiste invoer
  4. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.264s