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