0

我正在使用印地语向用户显示数据。但我想从出现给用户的所有单词中替换一个特定的字母。我想分别用“ष”替换
“ख”
“खा”和“षा”
。我想在插入数据库时​​替换它。表示如果用户以任何形式键入“ख”,则应将其作为“ष”插入数据库中。所以有人对此有想法吗???

4

2 回答 2

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')),

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

于 2014-03-15T04:44:05.377 回答
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');
于 2014-03-14T12:07:49.553 回答