PHP многобайтовые альтернативы UTF8

Я искал UTF8-безопасные альтернативы для функций работы со строками. Я нашел много разных мнений и предложений. Я хотел бы спросить, могут ли следующие функции вызывать проблемы в UTF-8, и если да, что я должен использовать вместо этого. Я знаю список функций с префиксом mb_ в руководстве по PHP, но есть не все функции, которые я использую.

Функции: взорвать, взорвать, str_replace, preg_match, preg_replace

Спасибо

2 ответа

explode просто ищет идентичную последовательность байтов и разделяет строку в этой точке. Поскольку UTF-8 безопасно обратно совместим с ASCII, это не проблема, и он будет работать нормально. implode просто собирает строки вместе, что также прекрасно работает благодаря свойствам UTF-8. str_replace работает по тем же причинам. preg_ функции работают нормально, если вы используете /u модификатор

Если вам нужно безопасно манипулировать символами UTF8, вы можете сделать это следующим образом:

mb_internal_encoding('UTF-8');
preg_replace( '`...`u', '...', $string ) // with the u (unicode) modifier
Другие вопросы по тегам