Remove use of deprecated pattern modifier in string_insert_hrefs()

string_insert_hrefs() relied on PREG_REPLACE_EVAL ('e') pattern modifier
for preg_replace() to apply rtrim() function to subpatterns.

In PHP 5.5, this feature has been deprecated for security reasons [1] so
we rely on preg_replace_callback() instead.

Fixes #17292

Backporting the fix from master branch, replacing the closure with an
anonymous function for compatibility with PHP < 5.3.

[1] http://php.net/reference.pcre.pattern.modifiers.php#reference.pcre.pattern.modifiers.eval