<?php
/*
The simplest string matching algorithm PHP implementation method
T: ababcabc
P: abc
0. 1. 2.
ababcabc ababcabc ababcabc
||| ||| |||
abc abc abc
(X) (X) (O)
3. 4. 5.
ababcabc ababcabc ababcabc
||| ||| |||
abc abc abc
(X) (X) (O)
*/
$str="ababcabc";
$search="abc";
$strlen=strlen($str);
$searchlen=strlen($search);
//1. Iterate over $str string
for($i=0;$i<$strlen;$i++){
if($i+$searchlen>$strlen){
echo 'out of length';break;
}
$match=true;
//2. Iterate over the string $search to search for and compare
for($j=0;$j<$searchlen;$j++){
if($str[$i+$j]!=$search[$j]){
$match=false;
break;
}
$k=$i+$j;
if($match){
if($j==$searchlen-1){
echo "{$str}The {$i} position starts at {$search}\n";break;
}
}
}
}
?>
/*
The simplest string matching algorithm PHP implementation method
T: ababcabc
P: abc
0. 1. 2.
ababcabc ababcabc ababcabc
||| ||| |||
abc abc abc
(X) (X) (O)
3. 4. 5.
ababcabc ababcabc ababcabc
||| ||| |||
abc abc abc
(X) (X) (O)
*/
$str="ababcabc";
$search="abc";
$strlen=strlen($str);
$searchlen=strlen($search);
//1. Iterate over $str string
for($i=0;$i<$strlen;$i++){
if($i+$searchlen>$strlen){
echo 'out of length';break;
}
$match=true;
//2. Iterate over the string $search to search for and compare
for($j=0;$j<$searchlen;$j++){
if($str[$i+$j]!=$search[$j]){
$match=false;
break;
}
$k=$i+$j;
if($match){
if($j==$searchlen-1){
echo "{$str}The {$i} position starts at {$search}\n";break;
}
}
}
}
?>