|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2001-11-09 02:12 UTC] derick@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 03:00:01 2025 UTC |
If a string contains two delimiters side by side (i.e. an empty field), strtok() treats the double delimiter as a single one and the results are shifted into the wrong variable. The previous version of the bug kept the second delimiter in the value returned by the function. This version does not, but it returns the wrong substring. PHP version is 4.2.0-dev (how do I report the correct version on the report form? Shouldn't there be at least a "other"?) Example of the bug: $String= "field1|field2||field4"; $Item1=strtok($String,"|"); // $Item1: field1 $Item2=strtok("|"); // $Item2: field2 $Item3=strtok("|"); // $Item3: field4 $Item4=strtok("|"); // $Item4 is empty compare the outputs of: http://www.pierrejelenc.com/PHP/test-module.php (correct) and http://www.web-ho.com/PHP/test-module.php (incorrect)