Letter herhaling herkenning

Door Ronald , 20 jaar geleden, 6.334x bekeken

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

PHP script bestanden

  1. letter-herhaling-herkenning

 

Er zijn 16 reacties op 'Letter herhaling herkenning'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Onbekend Onbekend
Onbekend Onbekend
20 jaar geleden
 
0 +1 -0 -1
Dit script snap ik dus totaal niet, het nut ontgaat mij aan alle kanten..
GaMer B
GaMer B
20 jaar geleden
 
0 +1 -0 -1
Best wel leuke snippet, ik kan het me wel inbeelden dat het nuttig KAN zijn.
- SanThe -
- SanThe -
20 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.
Onbekend Onbekend
Onbekend Onbekend
20 jaar geleden
 
0 +1 -0 -1
De gemiddelde php-er heeft dat zo door SanThe ;)
Martiveen -
Martiveen -
20 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
20 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
20 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
20 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
Dutch Caffeine
Dutch Caffeine
20 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
20 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  Hackintosh
Mebus Hackintosh
20 jaar geleden
 
0 +1 -0 -1
Ronald
Ronald
20 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
20 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. :)
- -
- -
20 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
20 jaar geleden
 
0 +1 -0 -1
Als ik dan heel flauw wil zijn doe ik gewooen
www.domeinnaam.nl/nielszszszszszszszszszszszszszsz/
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Iltar van der berg
iltar van der berg
20 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.

Inhoudsopgave

  1. letter-herhaling-herkenning

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.