diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index ebaa72db5..8f89b17f8 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -75,10 +75,15 @@ class Processor */ private static function replaceEmojis($body, array $emojis) { - foreach ($emojis as $emoji) { - $replace = '[class=emoji mastodon][img=' . $emoji['href'] . ']' . $emoji['name'] . '[/img][/class]'; - $body = str_replace($emoji['name'], $replace, $body); - } + $body = strtr($body, + array_combine( + array_column($emojis, 'name'), + array_map(function ($emoji) { + return '[class=emoji mastodon][img=' . $emoji['href'] . ']' . $emoji['name'] . '[/img][/class]'; + }, $emojis) + ) + ); + return $body; }