å¨PHPç¨åºå¼åä¸ï¼ç»å¸¸ä¼æ§è¡å符串çæªåæä½ï¼æ¯å¦è¾åºä¿¡æ¯å表æ¶ï¼æ é¢ä¸å®è¿é¿ï¼æå°æç« æè¦æ¶ï¼ä¹è¦æ§è¡ä¸ç³»åçå符串æªåæä½ãéå°è¿äºéæ±æ¶ï¼æ们ç»å¸¸ä¼æ³å°ä½¿ç¨substr()æ¹æ³æ¥å®ç°ï¼substr()对å
¨è±æå符串çæªåæ¯æ¯è¾éåçã
ä½å符串åªè¦åºç°ä¸æå符ï¼å°±æå¯è½å¯¼è´PHP
substrä¸æä¹±ç ï¼å 为ä¸æUTF-8ç¼ç ï¼æ¯ä¸ªæ±åå 3åèï¼èGB2312å 2åèï¼è±æå 1åèï¼æªåä½æ°ä¸åç¡®ï¼substr()硬ççå°å°
ä¸ä¸ªä¸æå符âé¯âæ两åï¼é ææå¼çå符ä¼æå
¶åç..æè¿æ¥ä¸èµ·åä¸ä¸ªåï¼æ以åºç°äºPHP substrä¸æä¹±ç ã
substr --- åå¾é¨ä»½å符串
è¯æ³ : string substr (string string, int start [, int length])
说æ :
substr( )ä¼ å stringçä¸é¨ä»½å符串ï¼ç±åæ° startå lengthæå®ã
å¦æ startæ¯æ£æ°ï¼ä¼ åçå符串å°ä¼ä» stringç第 start个åå
å¼å§ã
Example :
<?php
$rest = substr ("abcdef", 1); // returns "bcdef"
$rest = substr ("abcdef", 1, 3); // returns "bcd"
?>
å¦æ startæ¯è´æ°ï¼ä¼ åçå符串å°ä¼ä» stringç»å°¾ç第 start个åå¼å§ã
Example :
<?php
$rest = substr ("abcdef", -1); // returns "f"
$rest = substr ("abcdef", -2); // returns "ef"
$rest = substr ("abcdef", -3, 1); // returns "d"
?>
å¦ææç»äºåæ° lengthèä¸æ¯æ£æ°æ¶ï¼ä¼ åçå符串å°ä¼ä» startä¼ å length个åå
ã
å¦ææç»äºåæ° lengthèä¸æ¯è´æ°æ¶ï¼ä¼ åçå符串å°ä¼ç»æäº stringç»å°¾ç第 length个åå
ã
Example :
<?php
$rest = substr ("abcdef", 1, -1); // returns "bcde"
?>
对äºè±æ没æé®é¢ï¼æ们æµè¯ä¸ä¸ªä¸æ
<?php
$rest = substr ("ä¸å½äºº", 1, -1); // returns "fdsafsda" å°±æ¯ä¹±ç äº
?>
è¿ç§æªåå符çç»æï¼è¯å®ä¸æ¯æ们æ³è¦çç»æï¼è¿ç§åºç°PHP substrä¸æä¹±ç çæ
åµï¼å¯è½ä¼å¯¼è´ç¨åºæ æ³æ£å¸¸è¿è¡ã解å³åæ³ä¸»è¦æ两ç§ï¼
ä¸ã使ç¨mbstringæ©å±åºçmb_substr()æªåå°±ä¸ä¼åºç°ä¹±ç äºã
å¯ä»¥ç¨mb_substr()/mb_strcut()è¿ä¸ªå½æ°ï¼mb_substr()/mb_strcut()çç¨æ³ä¸substr()ç¸ä¼¼ï¼
åªæ¯å¨mb_substr()/mb_strcutæåè¦å å
¥å¤ä¸ä¸ªåæ°ï¼ä»¥è®¾å®å符串çç¼ç ï¼ä½æ¯ä¸è¬çæå¡å¨é½æ²¡æå¼
php_mbstring.dllï¼éè¦å¨php.iniå¨æphp_mbstring.dllæå¼ã
<?php
echo mb_substr("phpä¸æå符encode",0,4,"utf-8");
?>
å¦ææªæå®æåä¸ä¸ªç¼ç åæ°ï¼ä¼æ¯ä¸ä¸ªåè为ä¸ä¸ªä¸æï¼è¿å°±æ¯utf-8ç¼ç çç¹ç¹ï¼è¥å ä¸utf-8å符é说æï¼æ以ï¼æ¯ä»¥ä¸ä¸ªå为åä½æ¥æªåçã
使ç¨çæ¶åè¦æ³¨æphpæ件çç¼ç ï¼åç½é¡µæ¾ç¤ºæ¶çç¼ç ã使ç¨è¿ä¸ªmb_substræ¹æ³è¦äºå
ç¥éå符串çç¼ç ï¼å¦æä¸ç¥éç¼ç ï¼å°±éè¦å¤æï¼mbstringåºè¿æä¾äºmb_check_encodingæ¥æ£éªå符串ç¼ç ï¼ä½è¿ä¸å®åã
PHP èªå¸¦å ç§å符串æªåå½æ°ï¼å
¶ä¸å¸¸ç¨å°çå°±æ¯ substr å mb_substrãåè
å¨å¤çä¸ææ¶ï¼GBK 为 2 个é¿åº¦åä½ï¼UTF 为 3 个é¿åº¦åä½ï¼åè
æå®ç¼ç åï¼ä¸ä¸ªä¸æå³ä¸º 1 个é¿åº¦åä½ã
substr ææ¶ä¼æª 1/3 个ä¸ææå个ä¸æï¼ä¼æ¾ç¤ºä¹±ç ï¼ç¸å¯¹æ¥è¯´ mb_substr æ´éåæ们使ç¨ãä¸è¿ææ¶å mb_substr
å°±æ¾å¾ä¸é£ä¹å¥½ç¨äºãä¾å¦æè¦æ¾ç¤ºä¸ä¸ªå°å¾ççç®è¦ä¿¡æ¯ï¼5 个ä¸ææ£å¥½ï¼è¶
è¿ 5 个就æªåå4åå ä¸
ââ¦âï¼è¿æ ·å¤çä¸ææ¯æ²¡é®é¢äºï¼å¯æ¯å¤çè±æææ°åï¼è¿æ ·æªå就太çäºã
äºãèªå·±ä¹¦åæªåå½æ°ï¼ä½æçä¸å¦ç¨mbstringæ©å±åºæ¥å¾é«ãä¸é¢æ¯ecshopéé¢çæªåUTF-8ç¼ç ä¸å符串çå½æ°ã
function sub_str($str, $length = , $append = true)
{
$str = trim($str);
$strlength = strlen($str);
if ($length == || $length >= $strlength)
{
return $str; //æªåé¿åº¦çäºæ大äºçäºæ¬å符串çé¿åº¦ï¼è¿åå符串æ¬èº«
}
elseif ($length < ) //å¦ææªåé¿åº¦ä¸ºè´æ°
{
$length = $strlength + $length;//é£ä¹æªåé¿åº¦å°±çäºå符串é¿åº¦åå»æªåé¿åº¦
if ($length < )
{
$length = $strlength;//å¦ææªåé¿åº¦çç»å¯¹å¼å¤§äºå符串æ¬èº«é¿åº¦ï¼åæªåé¿åº¦åå符串æ¬èº«çé¿åº¦
}
}
if (function_exists('mb_substr'))
{
$newstr = mb_substr($str, , $length, EC_CHARSET);
}
elseif (function_exists('iconv_substr'))
{
$newstr = iconv_substr($str, , $length, EC_CHARSET);
}
else
{
//$newstr = trim_right(substr($str, , $length));
$newstr = substr($str, , $length);
}
if ($append && $str != $newstr)
{
$newstr .= '...';
}
return $newstr;
}
温馨提示:答案为网友推荐,仅供参考