⑴ 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; } ?>
⑵ 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.
)
⑶ PHP截取指定字符间字符串
<?php$str
=
'Dominik
Erven<br
/>Virchowstr.39<br
/>90409
Nürnberg<br
/>Germany
Zahlungsmethode:
PayPalBestellnummer:
400253Datum:
Mittwoch,
06.
Januar
2010Kundennummer
:26----------------------------------------------------------------------
Sehr
geehrte(r)
Dominik
Erven,
vielen
Dank
für
Ihre
Bestellung
in
unserem
Onlineshop.
Ihre
bestellten
Prokte
zur
Kontrollle:----------------------------------------------------------------------
1
x
10000
WOW
Gold
58,87
EUR<br
/>1.Realm/Server:Die
Nachtwache<br
/>2.Fraktion:Horde
Zwischensumme:
58,87
EURVersandkostenfrei
(ab
0,00
EUR
Bestellwert
versenden
wir
Ihre
Bestellung
versandkostenfrei):
0,00
EURRabatt
Kupons:
Vinlander:<b><font
color="ff0000">-
7,87
EUR</font></b><b>Summe</b>:<b>
51,00
EUR</b>
Rechnungsadresse----------------------------------------------------------------------Dominik
Erven<br
/>Virchowstr.39<br
/>90409
Nürnberg<br
/>GermanyVersandadresse----------------------------------------------------------------------Dominik
Erven<br
/>Virchowstr.39<br
/>90409
Nürnberg<br
/>Germany';//定义字符串内容,就是你提供的那段字符preg_match('#Ihre
bestellten
Prokte
zur
Kontrollle:(.*)Rechnungsadresse#ius',$str,$arr);//利用正则匹配来获取你想要的字段,存入$arr数组$rs
=
$arr[1];//这个就是你想要的结果?>我这个方法是用正则的,以上代码纯手写,请采纳,这样我们才有动力~~
⑷ php 字符串截取
preg_match 正则匹配 非常简单
int preg_match ( string pattern, string subject [, array matches [, int flags]] )
在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。
如果提供了 matches,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。
⑸ 急求 php 从指定字符串截取
<?php
$string='abc-def-bbdsfdsfdsfsdf';
$strat=strrpos($string,'-');
echosubstr($string,$strat+1);
?>
strrpos() 函数查找字符串在另一个字符串中最后一次出现的位置.
⑹ 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;
}
}
直接调用这个函数就可以了。
⑺ php怎么截取字符串
使用正则表达式,preg_match('#<a href=(.*)>cctv在线直播</a>#i')
⑻ 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)不会显示出什么,但是他是一个字符。
⑼ php截取字符串函数
$str=implode("|",$arr);
echo $str;
input:
小明|小黑|小天|小白
⑽ 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'];
}
}
?>
测试通过望采纳