ID: 46335 Updated by: [EMAIL PROTECTED] Reported By: sites at hubmed dot org -Status: Assigned +Status: Closed Bug Type: DOM XML related Operating System: OS X PHP Version: 5.2.6 Assigned To: rrichards 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. Previous Comments: ------------------------------------------------------------------------ [2008-10-17 19:22:18] [EMAIL PROTECTED] assigning to self. This is a valid bug. $node->substringData($start , $length) as a workaround for now. All of the DOMCharacterData methods are UTF-8 safe. ------------------------------------------------------------------------ [2008-10-17 18:18:59] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php in PHP < 6, this is expected behaviour. PHP < 6 just isn't unicode-aware by default. It should work in PHP 6 however. If not, let us know. ------------------------------------------------------------------------ [2008-10-17 17:10:20] sites at hubmed dot org Description: ------------ Using the DOMText function splitText() on a text node containing multibyte characters results in the node being split at the wrong position. Reproduce code: --------------- $text = 'This is an example of using DOM splitText'; $start = 30; $length = 3; $dom = new DOMDocument('1.0', 'UTF-8'); $node = $dom->createTextNode($text); $dom->appendChild($node); print "Text: $node->textContent\n"; print 'Expected (mb_substr): ' . mb_substr($text, $start, $length, 'UTF-8') . "\n"; $matched = $node->splitText($start); $matched->splitText($length); print "Actual (splitText): $matched->textContent\n"; Expected result: ---------------- Text: This is an example of using DOM splitText Expected (mb_substr): DOM Actual (splitText): DOM Actual result: -------------- Text: This is an example of using DOM splitText Expected (mb_substr): DOM Actual (splitText): ing ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46335&edit=1