PHP如何判断一个字符串是否为拼音

来源:百度知道 编辑:UC知道 时间:2024/06/06 12:42:03
如题,比如有:pin yin pinyin pyin piny 这五个字符串,那么我用什么办法判断哪几个为拼音,并把它取出显示。
如果我有了所有单拼的拼音数组,那么如何判断比对呢?还有关键是比对双拼,三拼?
貌似好复杂的样子

把24个字母组合?!!!太夸张了吧。那得多大的数组啊?
我觉得首先要明白拼音的构成。拼音都是由声母+韵母 or 韵母 构成
声母为 b p m f d t n l g k h j q x zh ch sh r z c s y w
韵母表 a o e i u v ai ei ui ao ou iu ie ve er an en in un vn ang eng ing ong
整体认读 zhi chi shi ri zi ci si yi wu yu ye yue yuan yin yun ying

要判断拼音首先应该判断 首个字符或者前两个字符。符合声母的一种情况,符合韵母的一种情况,将要判断的字符串挨个取比较判断,另外需要抛出不符合的情况。如 r+a 不存在而r+i 就存在。条件可能很多,需要严谨,但
理论上应该行的通。

这个最好用正则表达式,但是应该很麻烦,如果能下一个库,那就简单多了。

把所有的拼音组合做成一个数组,当判断一个字符串是否为拼音时就用这个数组来进行对比

假设$a中是拼音数组。

假设$b="sdf"

foreach($akey as $py){
if($py==$b){
return true;}
else return false;
}