PHP Characters in String
I'm trying to make a script where you get a input(text)box,
you enter a few random letters. And then you get a word.
For example :
Inputbox --> r u s f
*Press enter*
Result --> surf
It needs to recognize the letters and then print the word
(if the word exists). Even if you enter more letters, it recognizes the word
inside all those letters.
This is for an important school project and I really don't want to fail it :/
Thanks !
-Lydian
This is a dutch webcommunity. Can you provide your topic in the Dutch language?
This makes it easier to understand.
Ik ben hopeloos een script aan het proberen te maken waar
je een textbox hebt, en dan moet je verschillende letters ingeven,
en dan als je enter duwt krijg je een woord waaruit die letters bestaan.
Bijvoorbeeld:
In the textbox -> r u s f
*enter*
Resultaat -> surf
Het woord surf zit al vooraf ingegeven.
Dus de gebruiker moet het woord zoeken door bepaalde letters te gokken.
Dit is een belangrijk schoolproject en ik wil er echt niet op buizen :/
Thanks !
-Lydian
Moet dit javascript zijn of mag het ook in een combinatie PHP met javascript?
Het mag ook in combinatie.
Het moet iets zijn in deze logica :
Je geeft bijvoorbeeld 'r u s f' in de tekstbox, je klikt enter.
Dan komt het woord surf tevoorschijn. Omdat die letters het woord surf maken.
Dan kan teek en keet. Wat moet er dan worden getoond?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$str = 'abcdef';
$shuffled = str_shuffle($str);
// This will echo something like: bfdaec
echo $shuffled;
?>
$str = 'abcdef';
$shuffled = str_shuffle($str);
// This will echo something like: bfdaec
echo $shuffled;
?>
Bron: php.net
dat ligt iets moeilijker.
De logische oplossing:
alle mogelijke combinaties letter voor letter bekijken of ze overeenkomen met de ingegeven waarde.
als alle letters voorkomen dan hebben we een match.
in php code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$string = 'rusf';
$words = array('surf', 'surfen', 'hakken', 'slurf', 'hulk');
foreach($words as $word) {
$matches = 0;
for($i = 0 ; $i < strlen($word) ; $i++) {
for($j = 0 ; $j < strlen($string) ; $j++) {
if($word{$i} == $string{$j}) {
$matches++;
}
}
}
echo $string.' heeft '.$matches.' letters die het zelfde zijn als '.$word.'<br />';
}
?>
$string = 'rusf';
$words = array('surf', 'surfen', 'hakken', 'slurf', 'hulk');
foreach($words as $word) {
$matches = 0;
for($i = 0 ; $i < strlen($word) ; $i++) {
for($j = 0 ; $j < strlen($string) ; $j++) {
if($word{$i} == $string{$j}) {
$matches++;
}
}
}
echo $string.' heeft '.$matches.' letters die het zelfde zijn als '.$word.'<br />';
}
?>