Skip to content

PHP Warning: mb_ereg_replace(): mbregex search failure in php_mbereg_replace_exec(): retry-limit-in-match over in /vendor/vanderlee/php-sentence/src/Multibyte.php on line 59 #27

@splitbrain

Description

@splitbrain

I get above warning for some of my content. The problem happens in the trim() method:

public static function trim($string)
{
return mb_ereg_replace('^\s*([\s\S]*?)\s*$', '\1', $string);
}

When the warning is throw, mb_ereg_replace will return false instead of a string, breaking the rest of the script.

I created a test case to demonstrate the problem: splitbrain-forks@914dd45

I have no idea why it fails. I'm also not 100% sure why a UTF-8 aware method is needed here. Is it to remove non-ASCII whitespaces like non-breaking or half-width spaces? Would using preg_replace with the /u flag be an alternative?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions