#43993 [Asn->Csd]: mb_substr_count behaves differently to substr_count with overlapping needles
ID: 43993
Updated by: moriyoshi@php.net
Reported By: josmessa at uk dot ibm dot com
-Status: Assigned
+Status: Closed
Bug Type: mbstring related
Operating System: Windows XP SP2
PHP Version: 5.2CVS-2008-01-31 (snap)
Assigned To: hirokawa
New Comment:
This bug has been fixed in CVS.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
It is a shame that this kind of bug wasn't found for a long time..
Previous Comments:
------------------------------------------------------------------------
[2008-02-18 09:38:21] jani@php.net
If mb_substr_count() doesn't behave like substr_count() it's a problem
of mbstring, not the stock PHP function..
------------------------------------------------------------------------
[2008-02-10 00:52:45] hirokawa@php.net
mb_substr_count is supporting overlapping needles.
Is this a problem of substr_count ?
------------------------------------------------------------------------
[2008-01-31 17:08:52] nicholsr@php.net
Assigning to extension maintainer
------------------------------------------------------------------------
[2008-01-31 14:27:02] josmessa at uk dot ibm dot com
Description:
------------
In the documentation for substr_count there is a note that says: "Note:
This function doesn't count overlapped substrings. See the example
below! ". mb_substr_count does not replicate this behaviour, and as
mb_substr_count can overload substr_count I think it should.
Reproduce code:
---------------
<?php
$string_ascii = 'abcabcabc';
echo "mb_substr_count: ";
var_dump(mb_substr_count($string_ascii, 'abcabc')); //needle overlaps
in haystack
echo "substr_count: ";
var_dump(substr_count($string_ascii, 'abcabc'));
?>
Expected result:
----------------
mb_substr_count: int(1)
substr_count: int(1)
Actual result:
--------------
mb_substr_count: int(2)
substr_count: int(1)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=43993&edit=1
Thread (6 messages)