Versio

Letter herhaling herkenning

Ik zie vaak op websites namen zoals: zzzzzzzz. Herhaling van letters dus. Ik wil het namelijk ook gebruiken voor www.mijnsite.nl/gebruikersnaam/. Herhaling van letters in een URL adres vind ik dan niet gepast. Uiteraard moet je van te voren ook checken of de naam wel alleen uit letters bestaat, maar dat lijkt me duidelijk :) :)..

Aanroepen gaat als volgt:
RepeatLetter(string, max lengte string);

Door max lengte string voorkom je misbruik m.b.t. een oneindige loop.

Voorbeeld gebruik #1

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$woord
= 'aaaaa';
echo RepeatLetter($woord, 15);
?>


Output: 5

Voorbeeld gebruik #2

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$woord
= 'ronald';
echo RepeatLetter($woord, 15);
?>


Output: FALSE (niks dus)

Voorbeeld gebruik #3

Voorbeeld bij gebruik formulier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// Let op; $_POST['naam'] moet je zelf valideren
$repeat = RepeatLetter($naam, 15);
if ($repeat > 4)
{

   echo 'In ' . $_POST['naam'] . ' komt ' . $repeat . ' keer dezelfde letter voor achter elkaar. Maximum toegestaan is 4.';
}

else
{
  echo $_POST['naam'] . ' is goed.';
}

?>

Gesponsorde koppelingen

BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  

PHP script bestanden

  1. letter-herhaling-herkenning

 

16 reacties op 'Letter herhaling herkenning'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Luuk Schakenraad
Luuk Schakenraad
5 jaar geleden
 
0 +1 -0 -1
Dit script snap ik dus totaal niet, het nut ontgaat mij aan alle kanten..
GaMer B
GaMer B
5 jaar geleden
 
0 +1 -0 -1
Best wel leuke snippet, ik kan het me wel inbeelden dat het nuttig KAN zijn.
- SanThe -
- SanThe -
5 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$naam
= 'aaaaa';
echo RepeatLetter($woord, 15);
?>

Werkt vast niet zo met twee verschillende $varnames.
Luuk Schakenraad
Luuk Schakenraad
5 jaar geleden
 
0 +1 -0 -1
De gemiddelde php-er heeft dat zo door SanThe ;)
Martijn van Wensveen
Martijn van Wensveen
5 jaar geleden
 
0 +1 -0 -1
Zou het geen idee zijn. Dat hij ook een error terug geeft als de string langer dan het max is?
Iltar van der berg
iltar van der berg
5 jaar geleden
 
0 +1 -0 -1
Als ik het goed begrijp is dit script dus bedoelt om het herhalen van letters te voorkomen in namen bij het registreren ?
Robert Deiman
Robert Deiman
5 jaar geleden
 
0 +1 -0 -1
Dat begrijp je goed, een username moet geen aaaaa zijn, bijvoorbeeld... Naja, ik vind dat iemand zijn username zelf mag kiezen, zolang deze maar langer dan 4 tekens is, uniek is (en daarbij wordt geen rekening gehouden met hoofdletters)
Ronald
Ronald
5 jaar geleden
 
0 +1 -0 -1
Ik wil het o.a. gebruiken voor de domeinnaan.. Ik wil bijv www.domeinnaam/username/ gebruiken. Ik vind niet dat gebruikers mogen spammen via de domeinnaam door 'xxxxxxx' in te vullen bijvoorbeeld en daarom heb ik deze functie geschreven, het moet wel professioneel blijven namelijk.. Naast deze check heb ik ook een aantal woorden in een array gezet die niet gekozen mogen worden zoals admin, webmail, stats, enzovoort

@SanThe, heb het aangepast, stom foutje
Alexander de Jong
Alexander de Jong
5 jaar geleden
 
0 +1 -0 -1
Leuk gedaan, erg handig om te checken of je niet met een idioot te maken hebt op je site!

Ik heb eens aangepast, korter gemaakt, en de fout die jij had er uit gehaald.

Code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
function RepeatCheck($string, $maxLength)
{

    $repeat = 1;
        $letters = array();
    
    for($i = 0; $i < strlen($string); $i++)
    {

        $letters[$i] = $string[$i];
        
        if($letters[$i] == $string[$i])
        {

            $repeat++;
        }
    }

    
    if($repeat >= $maxLength)
    {

        return $repeat;
    }

    
    return false;
}

?>


Jou fout:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
if ($repeat >= $maxrepeat)
            return $repeat;
        else
            return FALSE;


Waar is $maxrepeat?

Edit:

Ooppss klein foutje gemaakt.

Moest $letters nog een array toe zeggen
Ronald
Ronald
5 jaar geleden
 
0 +1 -0 -1
if ($repeat >= $maxLength) slaat nergens op want wat heeft het aantal achtereen letters te maken met de string lengte? Ik had eerst $maxrepeat erin staan omdat ik dat meegaf in de functie maar had ik eruit gehaald omdat je het beter ter plekke kunt controleren.. In principe moet je gewoon $repeat return-n.. Heb de code aangepast :D :D

Wist niet dat $letters = array(); werkt om iedere letter als value in een array te hebben, tnx :), weer wat geleerd :):)
Mebus  vg
mebus vg
5 jaar geleden
 
Ronald
Ronald
5 jaar geleden
 
0 +1 -0 -1
Een functie waarmee je woorden kunt herhalen, vind het een onnuttige reply zonder tekst of uitleg.. Als je op een PHP functie doelt die hetzelfde zou kunnen doen, had dan substr_count() als reactie gepost.. Al doet die nog steeds niet hetzelfde want je wil op een volgende letters eruit pakken.. ;)
Richard van Velzen
Richard van Velzen
5 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
function count_repetitions($word, $maxlength = 15) {
    $word = trim($word);
    if(strlen($word) > $maxlength) {
        return false;
    }

    return preg_match_all('~(.)(?=\1)~', $word, $matches);
}

?>


Wauw. :)
- -
- -
5 jaar geleden
 
0 +1 -0 -1
@mebus: dat is een functie die de string herhaalt, niet een functie waarmee je het kan checken ;)
Niels Marsman
Niels Marsman
5 jaar geleden
 
0 +1 -0 -1
Als ik dan heel flauw wil zijn doe ik gewooen
www.domeinnaam.nl/nielszszszszszszszszszszszszszsz/
Iltar van der berg
iltar van der berg
5 jaar geleden
 
0 +1 -0 -1
Er zijn ook mensen die hun nickname altijd hetzelfde hebben, bv
0x000000 (zoals ik wel eens gebruik), in dit geval zou ik dat dus niet mogen, terwijl dit mijn nickname is, en serieus bedoelt is.

www.domain.nl/0x000000/ is toch niets mismee ??

Om te reageren heb je een account nodig en je moet ingelogd zijn.

  • Details
  • Ronald
    Door:
    Ronald
  • 5 jaar geleden
  • 904 x bekeken
  • Labels
  • Geen tags toegevoegd.
Get Adobe Flash player