У меня проблема. Я хочу заменить определенные строки только в том случае, если они точно такие, как я набирал. Поэтому, если есть строка с 5 Eur его следует заменить только, например, Steam 5 Euro , если он стоит один, а не если строка похожа. How are you 5 Eur pls . С моим фактическим кодом […]
Я хочу привязать обработку строк моего сайта для поддержки других языков в UTF-8. Кажется, что лучший способ сделать это – оставить все стандартные строковые функции. Поэтому у меня есть два варианта: я могу установить параметр mbstring.func_overload в php.ini, или я могу вернуться к моему коду и просто заменить все функции на mb_* . Я бы […]
Я пытаюсь использовать preg_replace для устранения японского полного пробела " "из строкового ввода, но я получаю поврежденную многобайтную строку. Я предпочел бы preg_replace вместо str_replace. Вот пример кода: $ keywords = 'ラ メ 単 色'; $ keywords = str_replace (array ('', ''), '', urldecode ($ keywords)); // выходы: 'ラ メ 単 色' $ keywords […]
Функция mb_split() имеет коррелирующую многобайточную функцию в mb_split() . Я не вижу корреляционной функции для implode() . Означает ли это, что implode уже безопасен для многобайтовых строк?
Этот код print mb_substr('éxxx', 0, 1); печатает пустое пространство 🙁 Предполагается напечатать первый символ, é . Это, похоже, работает: print mb_substr('éxxx', 0, 2); Но это неправильно, потому что (0, 2) означает 2 символа …
Я хочу, чтобы в этой функции был разный процесс для английского слова и японского слова function process_word($word) { if($word is english) { ///////// }else if($word is japanese) { //////// } } Спасибо
Я пытаюсь заменить в строке все несловные символы пустой строкой, ожидающей пробелов, и соединить все несколько пробелов в виде одного пробела. Следующий код делает это. $cleanedString = preg_replace('/[^\w]/', ' ', $name); $cleanedString = preg_replace('/\s+/', ' ', $cleanedString); Но когда я пытаюсь использовать mb_ereg_replace, ничего не происходит. $cleanedString = mb_ereg_replace('/[^\w]/', ' ', $name); $cleanedString = mb_ereg_replace('/\s+/', […]
Я пытаюсь придумать следующую функцию, которая усекает строку до целых слов (если возможно, в противном случае она должна усекать до символов): function Text_Truncate($string, $limit, $more = '…') { $string = trim(html_entity_decode($string, ENT_QUOTES, 'UTF-8')); if (strlen(utf8_decode($string)) > $limit) { $string = preg_replace('~^(.{1,' . intval($limit) . '})(?:\s.*|$)~su', '$1', $string); if (strlen(utf8_decode($string)) > $limit) { $string = preg_replace('~^(.{' […]
На данный момент я не понимаю, почему очень важно использовать функции mbstring в PHP при работе с UTF-8? Моя локаль под linux уже установлена в UTF-8, поэтому почему функции, такие как strlen , preg_replace и т. Д., Не работают по умолчанию?
Тестовая строка: $s = "convert this: "; $s .= "–, —, †, ‡, •, ≤, ≥, μ, ₪, ©, ® y ™, ⅓, ⅔, ⅛, ⅜, ⅝, ⅞, ™, Ω, ℮, ∑, ⌂, ♀, ♂ "; $s .= "but, not convert ordinary characters to entities";