PDA

View Full Version : BUGFIX: PHPDIG stops indexing when a 0 is in the page


janalwin
12-16-2003, 03:16 AM
Hallo,

I use an older version of PHPDIG (1.4.X) but the same code seems to be in version 1.6.5

The problem occurs when a 0 (zero) stands on its own in the text. PHPDIG doesn't index the words after the zero.

The problem lies in the function phpdigindexfile in robot_functions.php.

The command strtok is used to cut the text in to separate words. The problem is with the for loop. The loop repeats it's self as long as $token is true. The problem is that if a '0' is in the text $token will become '0'. This will be interpreted as false, so the for loop will stop.

See the phpmanual:
http://nl3.php.net/manual/en/function.strtok.php
(i found the solution in the comments)


BUG:
for ($token = strtok($text2, $separators); $token; $token = strtok($separators))
{
if (!isset($nbre_mots[$token]))
$nbre_mots[$token] = 1;
else
$nbre_mots[$token]++;
$total++;
}


FIX:

for ($token = strtok($text2, $separators); $token!==false; $token = strtok($separators))
{
if (!isset($nbre_mots[$token]))
$nbre_mots[$token] = 1;
else
$nbre_mots[$token]++;
$total++;
}

Charter
12-26-2003, 06:08 PM
Hi. Thanks. :)