❶ 求php获取首字母方法
function($str){
$s1=iconv('UTF-8','gb2312',$str);
$s2=iconv('gb2312','UTF-8',$s1);
$s=$s2==$str?$s1:$str;
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319&&$asc<=-20284)return'a';
if($asc>=-20283&&$asc<=-19776)return'b';
if($asc>=-19775&&$asc<=-19219)return'c';
if($asc>=-19218&&$asc<=-18711)return'd';
if($asc>=-18710&&$asc<=-18527)return'e';
if($asc>=-18526&&$asc<=-18240)return'f';
if($asc>=-18239&&$asc<=-17923)return'g';
if($asc>=-17922&&$asc<=-17418)return'h';
if($asc>=-17417&&$asc<=-16475)return'j';
if($asc>=-16474&&$asc<=-16213)return'k';
if($asc>=-16212&&$asc<=-15641)return'l';
if($asc>=-15640&&$asc<=-15166)return'm';
if($asc>=-15165&&$asc<=-14923)return'n';
if($asc>=-14922&&$asc<=-14915)return'o';
if($asc>=-14914&&$asc<=-14631)return'p';
if($asc>=-14630&&$asc<=-14150)return'q';
if($asc>=-14149&&$asc<=-14091)return'r';
if($asc>=-14090&&$asc<=-13319)return's';
if($asc>=-13318&&$asc<=-12839)return't';
if($asc>=-12838&&$asc<=-12557)return'w';
if($asc>=-12556&&$asc<=-11848)return'x';
if($asc>=-11847&&$asc<=-11056)return'y';
if($asc>=-11055&&$asc<=-10247)return'z';
returnnull;
};
这是一个传入汉字,通过汉字的ASCII码来判断汉字的首字母的方法。已经调试,可以直接使用。望测试。
❷ php如何获取第一个匹配的字符串
$a=preg_replace('/[^#]*#_{0,}(.*?)_{0,}#.*/u','$1',$txt);
var_mp($a);
❸ php 怎么截取字符前面几个字符
$a = '说的是我.mp3"><span class="entity-icon sprite-list-ic b-in-blk b-ic-book">';
// 不需要正则,将字符串以‘\.’分割,第二个元素就是包含音频文件后缀的字符串($b[1])。
$b = preg_split('/\./', $a);
//strpos确定后缀后面的双引号(“)的位置,下标即为需要截取的字符串长度,
//最后,substr得到的字符串即为你想要得到的音频文件后缀。
$c = substr($b[1], 0, strpos($b[1], '"'));
//var_mp($c);可得,”mp3“
这是基于你给出的字符串得出的结果,如果要求更具体些有可能会需要改动方法。
❹ php中 提取中文字符首个拼音字母
$fchar = ord($s0{0}); //获取字符串的第一个字节
//判断是不是英文字符,如果是则直接返回该字母大写
if ($fchar >= ord(“A”) and $fchar <= ord(“z”))return strtoupper($s0{0});
//以下代码用字符编码转换函数,通过两种字符集编码转换的对比,判断字符串是哪种字符集
//最终取字符串为GB字符集
$s1 = @iconv(“UTF-8″, “GBK”, $s0);
$s2 = @iconv(“GBK”, “UTF-8″, $s1);
if ($s2 == $s0) {
$s = $s1;
} else {
$s = $s0;
}
//计算给出的字符串的前两个字节内码,然后再根据结果判断在GB字符集中的位置,从而根据位置与拼音的关系,最终得出拼音字母
$asc = ord($s{0}) * 256 + ord($s{1}) – 65536;
‘U’、‘V’对中文无效,以下是对H 拼音的计算:
if($asc>=-17922 and $asc<=-17418)return "H";
❺ PHP如何获取字符串中第一次出现中文字符的位置
$a='abcd12中456文';
//获取到“中”字的位置
preg_match('/中/',$a,$matches,PREG_OFFSET_CAPTURE);
print_r($matches[0][1]);
echo" ";
//获取“中456”这几个字(注意只支持utf8编码其他编码请转utf8再匹配)
preg_match('/[x{4e00}-x{9fa5}]d{3}(?=[x{4e00}-x{9fa5}])/u',$a,$matches);
print_r($matches[0]);
❻ php取字符串的第一个字符
substr( $str, 0, 1 );
❼ [php教程]如何用PHP实现取字符的首字母
<?php
functiongetfirstchar($s0){
$c=ereg('[a-zA-Z]',strtoupper(substr($s0,0,1)));
if($c){
returnstrtoupper(substr($s0,0,1));
}else{
if($fchar>=ord("a")and$fchar<=ord("Z"))returnstrtoupper($s0{0});
if(is_numeric(substr($s0,0,1))){
$s0=ToChinaseNum(substr($s0,0,1));
}
$s=$s0;
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319and$asc<=-20284)return"A";
if($asc>=-20283and$asc<=-19776)return"B";
if($asc>=-19775and$asc<=-19219)return"C";
if($asc>=-19218and$asc<=-18711)return"D";
if($asc>=-18710and$asc<=-18527)return"E";
if($asc>=-18526and$asc<=-18240)return"F";
if($asc>=-18239and$asc<=-17923)return"G";
if($asc>=-17922and$asc<=-17418)return"H";
if($asc>=-17417and$asc<=-16475)return"J";
if($asc>=-16474and$asc<=-16213)return"K";
if($asc>=-16212and$asc<=-15641)return"L";
if($asc>=-15640and$asc<=-15166)return"M";
if($asc>=-15165and$asc<=-14923)return"N";
if($asc>=-14922and$asc<=-14915)return"O";
if($asc>=-14914and$asc<=-14631)return"P";
if($asc>=-14630and$asc<=-14150)return"Q";
if($asc>=-14149and$asc<=-14091)return"R";
if($asc>=-14090and$asc<=-13319)return"S";
if($asc>=-13318and$asc<=-12839)return"T";
if($asc>=-12838and$asc<=-12557)return"W";
if($asc>=-12556and$asc<=-11848)return"X";
if($asc>=-11847and$asc<=-11056)return"Y";
if($asc>=-11055and$asc<=-10247)return"Z";
returnnull;
}
}
functionToChinaseNum($num)
{
$char=array("零","一","二","三","四","五","六","七","八","九");
$dw=array("","十","百","千","万","亿","兆");
$retval="";
$proZero=false;
for($i=0;$i<strlen($num);$i++)
{
if($i>0)$temp=(int)(($num%pow(10,$i+1))/pow(10,$i));
else$temp=(int)($num%pow(10,1));
if($proZero==true&&$temp==0)continue;
if($temp==0)$proZero=true;
else$proZero=false;
if($proZero)
{
if($retval=="")continue;
$retval=$char[$temp].$retval;
}
else$retval=$char[$temp].$dw[$i].$retval;
}
if($retval=="一十")$retval="十";
return$retval;
}
var_mp(getfirstchar("89ssss"));
?>
❽ php截取一段字符串中第一个出现的数字或字母前面的字符串的语句怎么写
帮你测试过,符合要求
$str="登山服:5620a登山服";
$search1 = implode("-",range("a","z"));
$search2 = implode("-",range("a","z"));
$search3 = implode("-",range(0,9));
$search4 = implode("-",array(":"));
$search = $search1."-" .$search2."-" .$search3."-" .$search4;
$oldarr = explode("-",$search);
$newarr = array();
foreach($oldarr as $value)
$newarr [] = "{mysplit}";
$str = str_replace($oldarr, $newarr, $str);
$arr = explode("{mysplit}",$str);
echo $arr[0];
❾ PHP中读取字符串前N个字符
PHP中读取字符串前N个字符的代码如下:
$str="aaaaaaaaabbbbbbbbbbbbbbbb";
echosubstr($str,0,5);
echomb_substr($str,0,5);//中文用
//stringmb_substr(string$str,int$start[,int$length[,string$encoding]])
❿ PHP中如何截取从开头到某一位置的字符串
1、substr(源字符串,其实位置[,长度])-截取字符串返回部分字符串