[php] reguliere expressies

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
eregi("^([^0-9][A-Za-z&'\"[:space:]\.\-]+)$", $far)

okee... ik zit hier nu al ff aan te sleutelen maar ik kom er niet erg uit.

wat moet hij doen:

- Er mogen geen getallen in mijn string voor komen.
- Er mogen wel hooft letters kleine letters in voor komen.
- Er mogen ook de volgende tekens in voor komen: &-'_" en spaties.

volgens mij ben ik dan aardig op weg maar hij werkt niet zoals ik wil.

Gr. JorJor

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

code:
1
/^[ \w'"&-]+$/

en gebruik liever de preg_ functies, die zijn flexibeler en sneller :)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Verwijderd schreef op 08 oktober 2003 @ 14:40:
eregi("^([^0-9][A-Za-z&'\"[:space:]\.\-]+)$", $far)
Als je al speciefiek opgeeft welke tekens wel mogen dan kun je de negatieve reeks gewoon weglaten hoor. Waar je nu op matchd is eerst een teken wat geen getal is en dan een of meerdere tekens uit de reeks die je hebt opgegeven. Op php.net staat overigens een erg goede uitleg over perl-compatible regexps. Die kun je gebruiken met de preg functies.

[ Voor 6% gewijzigd door Michali op 08-10-2003 14:52 ]

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
(sorry maar die preg_ functies kom ik momenteel ff helaal niet uit.)
En als ik dus met eregi() wil werken? dan werkt /^[ \w'"&-]+$/
volgens mij niet?

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

*voorkauwt*
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php

$far = '';
if (isset($_GET['far'])) $far = $_GET['far'];

if (preg_match('/^[ \w\'"&-]+$/', $far) == 1) {
  echo 'match';
} else {
  echo 'no match';
}

?>

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Nee dan moet ie iets anders

code:
1
^[ a-zA-Z_\'\"&-]+$


Die moet werken als het goed is. Bij de preg functies moet je om je reg boundaries zetten zoals /reg/ |reg| of #reg#. Bij eregi is dat juist weer niet toegestaan. En \w wordt ook niet ondersteund \w == [a-zA-Z_] (of zoiets).

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Okee Michali, hij werkt niet zo goed als die van mij.... hij heeft steeds problemen met de " en de & weet jij waar dat hem in zit?

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Michali schreef op 08 oktober 2003 @ 15:09:
Nee dan moet ie iets anders

code:
1
^[ a-zA-Z_\'\"&-]+$


Die moet werken als het goed is. Bij de preg functies moet je om je reg boundaries zetten zoals /reg/ |reg| of #reg#. Bij eregi is dat juist weer niet toegestaan. En \w wordt ook niet ondersteund \w == [a-zA-Z_] (of zoiets).
\w == [a-zA-Z0-9_]
en ik zie net dat er juist geen getallen in voor mogen komen 8)7

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Zo goed als mij engels is heb ik http://nl.php.net/manual/nl/pcre.pattern.syntax.php ff door gelezen alleen nu ben ik er nog niet uit doe ik [a-zA-Z] maak okee \w == [a-zA-Z0-9_] maar nu [a-zA-Z] nog...

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

die van Michali moet het doen hoor, ook in mijn voorbeeldje

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb nu dit en dat doet niet wat ik wil.
PHP:
1
preg_match('/^[ A-Za-z\'\"\.&-_]+$/', $far


Waar moet hij aan voldoen:

- Er mogen geen getallen in mijn string voor komen.
- Er mogen wel hooft letters kleine letters in voor komen.
- Er mogen ook de volgende tekens in voor komen: &-'_". en spaties.

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 08 October 2003 @ 20:12:
Ik heb nu dit en dat doet niet wat ik wil.
PHP:
1
preg_match('/^[ A-Za-z\'\"\.&-_]+$/', $far


Waar moet hij aan voldoen:

- Er mogen geen getallen in mijn string voor komen.
- Er mogen wel hooft letters kleine letters in voor komen.
- Er mogen ook de volgende tekens in voor komen: &-'_". en spaties.
zorg dat je - als laatste in de rij staat, of zet er een \ voor

Intentionally left blank

Pagina: 1