字符串截取php
A. php 分割获取字符串
我们在使用PHP语言进行编程操作时,通常都会对字符串进行增减,改变等。那么,如何才能实现PHP分割字符串的功能呢?在接下来的文章中我们将会为大家详细介绍。
PHP分割字符串代码示例:
< ?php
$str = ’1234′;
$arr = str_split($str);
print_r($arr);
?>
结果 : Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
定义和用法
str_split() 函数把字符串分割到数组中。
语法 length 表示每个字符串的个数
str_split(string,length) 默认长度是1 上面如果是str_split($str,2) 结果为Array ( [0] => 12 [1] => 34)
如果是$str=’1 2 3 4′ 这个时候就用 explode()函数 explode(‘ ‘,$str) 按照空格分开
如果是一篇文章的内容时候截取方法是按照字符的个数:用到strlen()函数和substr()字符串截取函数来实现PHP分割字符串的功能,如:
< ?php $len=strlen($row['game_detail']);
//获取这个字符串的长度;
if($len>102)
//判断字符串如果大于102就输出102个字符串。
{ echo $s=substr($row['game_detail'],
0,102); echo '...';
}
else{ echo $row["game_detail"];
//否则就输出全部;
}
?>
也就是在输出前做个判断。。strlen(字符串名称)。。substr(字符串,0,102)要分割的范围0-103。以上这些就是PHP分割字符串的全部方法,希望大家有所掌握。
B. php怎么截取字符串
使用正则表达式,preg_match('#<a href=(.*)>cctv在线直播</a>#i')
C. php 如何截取字符串最后两个字符
在php中只要判断字符串1与字符串2之前的一个stripos位置然后再使用substr开始截取就可以了,介绍一个简单例子。
使用方法:
1 2 $keyword='查找(计组实验)' $need=getNeedBetween($keyword, '(' , ')' );
运行该程序之后:
1 $need='计组实验';
下面就来完成上面用到的字符串截取函数。getNeedBetween。该函数可实现简单的从字符串($kw)截取两个指定的字符($mark1,$mark2)之间字符串,失败返回0,成功返回截取的字符串。
1 2 3 4 5 6 7 8 9 10 11 12 <?php function getNeedBetween($kw1,$mark1,$mark2){ $kw=$kw1; $kw='123′.$kw.'123′; $st =stripos($kw,$mark1); $ed =stripos($kw,$mark2); if(($st==false||$ed==false)||$st>=$ed) return 0; $kw=substr($kw,($st+1),($ed-$st-1)); return $kw; } ?>
D. php字符截取
当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空”
根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了
先看段代码
复制代码
代码如下:
<?php
$len
=
15;
$str
=
"这个新闻或是文章的标题很长,需要只显示前面一些字,后面用...来代替";
echo
strlen($str)<=$len
?
$str
:
(substr($str,0,$len).chr(0)."...");
?>
chr(0)相关知识:
null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000
虽然chr(0)不会显示出什么,但是他是一个字符。
E. PHP按特殊字符截取字符串
explode()
函数把字符串分割为数组。
<?php
$str
=
"Hello
world.
It's
a
beautiful
day.";
print_r
(explode("
",$str));
?>
Array
(
[0]
=>
Hello
[1]
=>
world.
[2]
=>
It's
[3]
=>
a
[4]
=>
beautiful
[5]
=>
day.
)
F. php怎么截取字符后面几个字符
$str1 = substr($str,5)截取后面5个字符。
1:$str1 = substr($str,5);这句是从第5个字符开始截取到最后strlen($str) 这句是获取字符串长度假设你要截取后面3个字符,那就这样写 $str1 = substr($str,(strlen($str)-3))。
2:只要判断字符串1与字符串2之前的一个stripos位置然后再使用substr开始截取就可以了。
3:PHP中的substr() 函数可以实现 substr() 函数返回字符串的一部分,substr(string,start,length)。
4:string 必需,规定要返回其中一部分的字符串,start 必需,规定在字符串的何处开始,正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾的指定位置开始 0 - 在字符串中的第一个字符处开始 length 可选,规定要返回的字符串长度。默认是直到字符串的结尾,正数 - 从 start 参数所在的位置返回负数 - 从字符串末端返回。
G. php字符串截取指定字符
<?php
$a
=
'[{"ip":"192.168.1.19","host_name":"我的手机","mac_err":"0","mac":"18-DC-56-D0-0E-3F","mac_t":"-"},{"ip":"192.168.1.150","host_name":"8线电话","mac_err":"0","mac":"00-03-62-80-24-EE","mac_t":"-"},{"ip":"192.168.1.38","host_name":"内网路由","mac_err":"0","mac":"CC-B2-55-E2-25-42","mac_t":"-"}]';
$a
=
json_decode($a,true);
for
($i=0;
$i
<
count($a)
;
$i++)
{
if
($a[$i]['ip']
==
"192.168.1.38")
{
echo
$a[$i]['mac'];
}
}
?>
测试通过望采纳
H. php截取字符串
这个问题我回答了好几个了:
/* 截取一定长度的完整的中文字符 */
function cnsubstr($str,$strlen=10) {
if(empty($str)||!is_numeric($strlen)){
return false;
}
if(strlen($str)<=$strlen){
return $str;
}
//得到第$length个字符 并判断是否为非中文 若为非中文
//直接返回$length长的字符串
$last_word_needed=substr($str,$strlen-1,1);
if(!ord($last_word_needed)>128){
$needed_sub_sentence=substr($str,0,$strlen);
return $needed_sub_sentence;
}else{
for($i=0;$i<$strlen;$i++){
if(ord($str[$i])>128){
$i++;
}
}//end of for
$needed_sub_sentence=substr($str,0,$i);
return $needed_sub_sentence;
}
}
直接调用这个函数就可以了。
I. php截取字符串函数
$str=implode("|",$arr);
echo $str;
input:
小明|小黑|小天|小白
J. 急求 php 从指定字符串截取
<?php
$string='abc-def-bbdsfdsfdsfsdf';
$strat=strrpos($string,'-');
echosubstr($string,$strat+1);
?>
strrpos() 函数查找字符串在另一个字符串中最后一次出现的位置.