1. 程式人生 > 程式設計 >JS PHP字串擷取函式實現原理解析

JS PHP字串擷取函式實現原理解析

js有三個:slice() substring() substr()

一般都用substr(start,length),第一個引數是開始位置的下標 必須,可以為負數,下標-1 是指字串中最後一個字元,下標-2 是指倒數第二個字元,以此類推;第二個引數是要擷取子串的長度 可選,擷取的方向都是從左往右,不會改變。

截取出來的子串包含起始位置自己

PS:字串的索引都從0開始計起

. 空格都是字元

substring(from,until) slice(from,until)都是從一個索引擷取到另一個索引,只有當引數為負數時,他們不一樣,需要強調的一點:子串不包括“until”索引值的元素

substring(0) slice(0) slice()都是擷取整個字串,無意義

substring的from必寫

php:

1.substr(源字串,起始位置,[長度])-擷取字串返回部分字串

<?php
$str ="phpddt.com";
echo substr($str,2);//pddt.com
echo substr($str,2,3);//pdd
echo substr($str,-2);//om 負數從結尾開始取
?>

但是當你擷取中文字串的時候很容易出現亂碼,因為一個漢字是兩個位元組,而一個英文字母是一個位元組。解決辦法如下:

2.mb_substr(),使用方法和substr相同

不過要開啟php.ini裡面extension=php_mbstring.dll擴充套件,不用擔心,一般的空間商都會開啟這個擴充套件的。

<?php
echo mb_substr("php點點通",1,3,"UTF-8");//hp點
?>

程式碼如下:

substr(string,start,length)

  • 其中start的引數
  • 正數 - 在字串的指定位置開始
  • 負數 - 在從字串結尾的指定位置開始
  • 0 - 在字串中的第一個字元處開始

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。