Я использую язык хинди для отображения данных для пользователя. но я хочу заменить конкретное письмо на все слова, которые появляются пользователю. Я хочу заменить
"ख" с "ष"
"खा" с "षा"
и соответственно. Я хочу заменить это на момент вставки в базу данных. Значит, если пользователь вводит "ख" в любой форме, он должен быть вставлен как "ष" в базу данных. Так что у кого-нибудь есть идея об этом???
Я создал свой собственный файл библиотеки stringhandler.php. Следующее - stringhandler.php.
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class stringhandler {
function normalize_str($str)
{
$invalid = array('ख'=>'ष', 'खा'=>' षा', 'खि'=>'षि', 'खी'=>'षी', 'खु'=>'षु', 'खू'=>'षू',
'खे'=>'षे', 'खै'=>'षै', 'खो'=>'षो', 'खौ'=>' षौ', 'खं'=>' षं', 'खः'=>'षः');
$str = str_replace(array_keys($invalid), array_values($invalid), $str);
return $str;
}
}
И в файле модели
'fname'=>$this->stringhandler->normalize_str($this->input->post('fname')),
'fathername'=>$this->stringhandler->normalize_str($this->input->post('fathername')),
Надеюсь, это поможет кому-то.
Вы можете использовать mb_ereg_replace
<?php
$a='[ख]';
$string="खखखख Hello खखखखखख";
$b=mb_ereg_replace( $a, 'षा' , $string );
echo $b;
//output: षाषाषाषाषाषाषाषा Hello षाषाषाषाषाषाषाषाषाषाषाषा
?>
Убедитесь, что вы установили html в utf-8
и включили его в начале своей страницы:
define('CHARSET','UTF-8');
mb_internal_encoding('UTF-8');
mb_regex_encoding('UTF-8');