I'm trying to cycle through a keyword printing out three character groupings starting from each letter in the keyword. Here is the script I am using: $searchWord = "acme corporation" $chars = strlen($searchWord); echo "$searchWord<br>"; for($i=0;$i<=$chars;$i++) { $j = $i + 3; echo $i . ":" . $j . " "; echo substr(($searchWord),$i,$j) . "<br>"; } This is the output: acme corporation 0:3 acm 1:4 cme 2:5 me co 3:6 e corp 4:7 corpor 5:8 corporat 6:9 orporatio 7:10 rporation 8:11 poration 9:12 oration 10:13 ration 11:14 ation 12:15 tion 13:16 ion 14:17 on 15:18 n 16:19 This doesn't make sense to me because it is returning more than 3 characters after the first two iterations. I understand that I have to modify the script near the end but I'm just trying to get the base concept working first. Here is the output I'm looking for: acm cme mec eco cor orp rpo por ora rat ati ion Thanks, ROn