Skip to content

Instantly share code, notes, and snippets.

@leafnode
Created Aug 8, 2014
Embed
What would you like to do?
<?php
function match($desk, $word) {
for($i = 0; $i < strlen($word); $i++) {
$pos = strpos($desk, $word[$i]);
if($pos === false) {
$pos = strpos($desk, '*');
if($pos === false) return false;
}
$desk[$pos] = '.';
}
return true;
}
function search($tokens, $dictionary) {
$filter = function($word) use($tokens) { return match($tokens, $word); };
return array_filter($dictionary, $filter);
}
function prettyPrint($words) {
$compareLength = function($a, $b) { return strlen($a) - strlen($b); };
usort($words, $compareLength);
print(implode("\n", $words)."\n");
}
if(isset($argv[1])) {
$firstArg = $argv[1];
} else {
exit("One parameter needed");
}
$dictionary = explode("\n", file_get_contents("ODS6.txt"));
$results = search(strtoupper($firstArg), $dictionary);
prettyPrint($results);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment