Ik ben inmiddels geen onbekende meer met PHP, maar met ereg heb ik de grootste problemen. Ik heb een invoerveld waar mensen hun naam kunnen invullen. Ik heb daarin zowel hoofd- als kleine letters toegestaan, alsmede spaties en (). Nu kwam het verzoek om ook een koppelteken toe te staan, maar meer dan 1x wil ik dat niet toelaten. Heb inmiddels tich mogelijkheden geprobeerd en even zoveel berichten op internet gelezen, maar kom er niet uit. Gaarne hulp.

Door oorspronkelijke code is:

if (!ereg('^[A-Za-z ()]+$', $naam)) {

Inmiddels heb ik dit:

if (!ereg('(^[A-Za-z]$)*([-]{0,1})', $naam)) {

Maar dit staat meerdere koppeltekens toe.
ik denk dat je wat jij wilt beter met een andere functie kan doen...
Je kan het doen met count(in_array(...));
ik weet dat daarvoor een speciale functies maar ik kan em ff niet meer vinden
Probeer eens zo?

if (!ereg('^[A-Za-z ()]+[-]?[A-Za-z ()]+$', $naam)) {
ik heb de functie voor je gevonden.
substr_count
op php.nl
<?
$tel_streep = substr_count($naam,"-");
if($tel_streep > 1) {
echo "FOUT!";
}
?>
Dit is een handige zeg :))
Bedankt voor het zoeken!
Grappig gedaan, wat ik zou doen is mensen tijd geven, dus met mysql een DATETIME tabel neer zetten, en één keer in een halve minuut opnieuw laden o.i.d.
ik zou ook laten kijken of het woord in je database voorkomt. zoniet... fout...
checken of het woord niet te kort is...

Reageren