如何用php打破数组中的印地文字符串,并计算字符串中有多少个字母和元音 [英] how to break hindi string in array with php and count how many letter and vowel in string
问题描述
我有类似的东西
$a = "बिक्रम"
我想在php中实现类似的目的
I want to achieve something like in php
a[0] = बि
a[1] = क्र
a[3] = म
现在,我想计算一个印数形式的印地文名称字母,以及印地文名称(字符串)中有多少个元音. 如何用php打破数组中的印地文字符串,并计算字符串中有多少个字母和元音 索引页
now i want to count the letter of hindi name in a varial and how many vowel in hindi name(string). how to break hindi string in array with php and count how many letter and vowel in string Index page
<html>
<head>
<script src="http://www.hinkhoj.com/common/js/keyboard.js"></script>
<link rel="stylesheet" type="text/css" href="http://www.hinkhoj.com/common/css/keyboard.css" />
</head>
<body align="center" style="margin-top:15%">
Name :
<script language="javascript">
CreateCustomHindiTextBox("nameid", "", 40, true);
function ff() {
var a = document.getElementById("nameid").value;
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "demo_get.php?val=" + a, true);
xmlhttp.send();
}
</script>
<input type="submit" name="submit" onClick="ff()">
<div id="myDiv"></div>
</body>
</html>
ajax页面
<?php
function mbStringToArray ($string) {
$strlen = mb_strlen($string);
while ($strlen) {
$array[] = mb_substr($string,0,1,"UTF-8");
$string = mb_substr($string,1,$strlen,"UTF-8");
$strlen = mb_strlen($string);
}
return $array;
}
echo $name = $_GET['val'];
print_r(mbStringToArray($name));
?>
推荐答案
一种方法,但不能如前所述精确打印输出
An Approach But Cant Print Exact output as mentioned
<?php
function mbStringToArray ($string) {
$strlen = mb_strlen($string);
while ($strlen) {
$array[] = mb_substr($string,0,1,"UTF-8");
$string = mb_substr($string,1,$strlen,"UTF-8");
$strlen = mb_strlen($string);
}
return $array;
}
$a = "बिक्रम";
print_r(mbStringToArray($a));
输出:
Array([0] =>ब[1] =>ि[2] =>命中[3] =>्[4] =>र[5] =>म)
Array ( [0] => ब [1] => ि [2] => क [3] => ् [4] => र [5] => म )
您可以做的是创建一个函数,该函数在mbStringToArray()
返回的数组上进行迭代,如果下一个元素等于ि, ्
等Varnamala(वर्णमाला)等,则将其与前一个元素连接在一起.
What You Can do is create function which iterates on an array returned by mbStringToArray()
and if next element is equal to an Varnamala(वर्णमाला) like ि, ्
etc join it together with the previous.
这是一种方法.
function joinVarnamala($array){
$singsArray=array("ि","्");
$out=array($array[0]);
for ($i=1; $i <count($array) ; $i++) {
if (in_array($array[$i], $singsArray)) {
$out[count($out)-1].=$array[$i];
}else{
$out[]=$array[$i];
}
}
return $out;
}
print_r(joinVarnamala($ar));
输出:
数组([0] =>बि[1] =>정्[2] =>र[3] =>म)
Array ( [0] => बि [1] => क् [2] => र [3] => म )
这篇关于如何用php打破数组中的印地文字符串,并计算字符串中有多少个字母和元音的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!