如何从字符串中获取前5个字符

far*_*oft 232 php substring

如何使用php从字符串中获取前5个字符

$myStr = "HelloWordl";
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的

$result = "Hello";
Run Code Online (Sandbox Code Playgroud)

Gum*_*mbo 509

对于单字节字符串(例如US-ASCII,ISO 8859系列等),使用substr和用于多字节字符串(例如UTF-8,UTF-16等)使用mb_substr:

// singlebyte strings
$result = substr($myStr, 0, 5);
// multibyte strings
$result = mb_substr($myStr, 0, 5);
Run Code Online (Sandbox Code Playgroud)

  • @DougCassidy:如果`$ url ="www.subwww.myweirddomainwww.com"怎么办?没有初始检查`substr($ url,0,4)`,返回`$ url`就毁了!! (6认同)
  • 谢谢,这就是我需要的:`if(substr($ myURL,0,4)==“ www。”)$ myURL = preg_replace('/ www./','',$ myURL,1); ` (2认同)

Bol*_*ock 44

用途substr():

$result = substr($myStr, 0, 5);
Run Code Online (Sandbox Code Playgroud)

  • @stereofrog:你可能正在使用像UTF-8这样的多字节字符编码.在那种情况下使用`mb_substr`. (12认同)

Pau*_*aul 19

另一种只获得一个角色的方法.

$str = 'abcdefghij';

echo $str{5};
Run Code Online (Sandbox Code Playgroud)

  • 这是错误问题的正确答案.Downvoted. (6认同)
  • @ToolmakerSteve,如果你这么说的话;`$string = "哈根达斯"; $stringFirstChars = function($amount, $string) { $i=0;$done=false;$return = '';while($done == false) {$return.=$string{$i};if( $amount===$i)$done=true;$i++;}return $return;}; var_dump($stringFirstChars(5, $string));`(复制粘贴到 phptester.net 或我们) (2认同)

Sar*_*raz 15

你可以使用这样的substr功能:

echo substr($myStr, 0, 5);
Run Code Online (Sandbox Code Playgroud)

第二个参数substr是从你想要开始的位置开始,第三个参数是你想要返回多少个字符.