用另一个字母替换印地文中的特定字母

时间:2014-03-14 10:34:17

标签: php html codeigniter hindi

我使用hindi语言向用户显示数据。但我想替换用户看到的所有单词中的特定字母。我想替换
  “ख”与“ष”
“खा”分别与“षा”和。我想在插入数据库时​​替换它。 表示如果用户以任何形式键入“ख”,则应在数据库中以“ष”形式插入。所以任何人都有这个想法???

2 个答案:

答案 0 :(得分:0)

您可以使用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');

答案 1 :(得分:0)

我创建了自己的库文件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')),

希望这会对某人有所帮助..