-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathstring_searching.php
44 lines (37 loc) · 976 Bytes
/
string_searching.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
function sub_str($word, $search) {
$search_ct = 0;
$wild_ct = 0;
for ($i = 0; $i < strlen($word); $i++) {
if ($word[$i] == $search[$search_ct] || $search[$search_ct] == "*") {
//print "SUCCESS: " . $word[$i] . "==" . $search[$search_ct] . "\n";
if ($search[$search_ct] != "*") {
$search_ct++;
}
if ($search[$search_ct] == "*" && $wild_ct == 0) {
$wild_ct++;
}
if ($wild_ct >= 1 && $search[$search_ct+1] == $word[$i+1]) {
$search_ct++;
}
}
}
if ($wild_ct > 0) {
$search_ct -= $wild_ct;
}
if ($search_ct == strlen($search)) {
return "true";
} else {
return "false";
}
}
$fh = fopen($argv[1], "r");
while (!feof($fh)) {
$test = trim(fgets($fh));
if ($test != "") {
$args = explode("," , $test);
echo sub_str($args[0],$args[1]) . "\n";
}
}
fclose($fh);
?>