⑴ php如何用正则截取字符串
$content="这里是上面要正则的类容";
preg_match("/<Request>(.*)<\/Request>/iS",$content,$arr);
print_r($arr);
我测试过时成功的。数组保存了两个元素,一个是带有<Request></Request>的,另外一个是不带有<Request></Request>的。
希望能帮到你!
⑵ php正则截取指定符号之间的字符串
按照你的要求截取第一个【和最后一个】之间的字符串的php程序如下
(用正则表达式中的贪婪匹配模式,取第一捕获组的数据)
<?php
$str="击链器【到手】得理多】";
$regex="/【(.*)】/";
preg_match_all($regex,$str,$result);
echo $result[1][0];
?>
⑶ php正则表达式字符串分割
在每个 .box 前面加个标示符,通过这个标示符分割
$source="<divclass='box'>
<divclass='title'>嗨,我是标题君1号</div>
<divclass='masll'>hi,我是副标题</div>
</div>
<divclass='box'>
<divclass='title'>嗨,我是标题君1号</div>
<divclass='masll'>hi,我是副标题</div>
</div>
<divclass='box'>
<divclass='title'>嗨,我是标题君1号</div>
<divclass='masll'>hi,我是副标题</div>
</div>";
$source=str_replace("<divclass='box'>","@@<divclass='box'>",$source);
$source=preg_replace('/^@@/','',$source);
$ary=explode('@@',$source);
print_r($ary);
⑷ php 正则表达式 截取字符串
<?php
$str
=
"<img
height=\"88\"
width=\"139\"
alt=\"\"
src=\"/do/admin/upload/news_image/kk0.jpg\"
/></p><p>
</p><p><img
style=\"width:
424px;
height:
205px\"
alt=\"\"
src=\"/do/admin/upload/news_image/kk3.bmp\"
/></p><img
height=\"88\"
width=\"139\"
alt=\"\"
src=\"/do/admin/upload/news_image/kk0.jpg\"
/></p><p>
</p><p><img
style=\"width:
424px;
height:
205px\"
alt=\"\"
src='/do/admin/upload/news_image/kk3.bmp'
/></p>";
$reg
=
'/\ssrc=[\'\"][\\/]([^\'"]*)[\'\"]\s/i';
preg_match_all($reg
,
$str
,
$out_ary);
//这个数组就是地址
$src_ary
=
$out_ary[1];
mp($out_ary);
mp($src_ary);
//格式化打印变量
function
mp($uStr){
echo
"<pre>";
var_mp($uStr);
echo
"</pre>";
}
?>
⑸ php正则截取字符串
<?php
$str=""=htt-----om/i7/361/060/36806784329/T1zQJMFxxaXXc"";
$reg="/"=(htt-----om.*)"/";
preg_match($reg,$str,$matches);
echo$matches[1];
?>
⑹ php 正则 分割 字符串
<?php
$str = '1,2,3,4,"5","a,d,v,x,g",5,s';
$preg1 = "/\"(.*?)\"/u";
$s = preg_replace_callback($preg1, 'callback', $str);
$s_arr = str_replace("~##~",",",explode(",",$s));
print_r($s_arr);
function callback($s) {
return str_replace(',', '~##~', $s[0]);
}
?>
- -!能勉强实现吧。。“这个双引号要成对出现才行。。- -!坐等高手,我也学习一下。。
⑺ php正则表达式匹配分隔符
<?php
//php正则用任意分隔符(""",""/""!")分割字符串成数组
$str="Helloworld!Hello,world!Hello/world";
$str=preg_split("/[s,/!]+/",$str);
echo'<pre>';print_r($str);
?>
运行输出为:
Array
(
[0] => Hello
[1] => world
[2] => Hello
[3] => world
[4] => Hello
[5] => world
)
希望对你有所帮助。
⑻ php分割字符串
/**
*宽字符串分割
*
*@paramunknown_type$str
*@returnunknown
*/
functionsplit($str){
$ret=array();
$len=strlen($str);
for($i=0;$i<$len;$i++){
//判断编码位数
$code=ord($str[$i]);
//单字节0
if($code>>7==0){
$ret[]=$str[$i];
}
//4字节1111
elseif($code>>4==15){
if($i<$len-3){
$ret[]=$str[$i].$str[$i+1].$str[$i+2]+$str[$i+3];
$i+=3;
}
}
//3字节111
elseif($code>>5==7){
if($i<$len-2){
$ret[]=$str[$i].$str[$i+1].$str[$i+2];
$i+=2;
}
}
//双字节11
elseif($code>>6==3){
if($i<$len-1){
$ret[]=$str[$i].$str[$i+1];
$i+=1;
}
}
}
return$ret;
}
上面是分隔中文字串为数组的.
这种方式性能比正则表达式要高点. GBK , UTF-8 编码都是支持的.
分隔完毕之后, 你在循环数组, 设置步长为3 . 然后就可以拼接出你要的了.
⑼ php如何分割中文字符串
php分割中文字符串,如果直接用PHP函数“str_split”来分割,会出现乱码,因为中文字符长度和英文字符长度是不一样的。
所以,可以建立新的函数先把字符转成ASCII值,接着通过判断不同字符的长度来正确分割中文字符串,把结果存入数组,最后再用PHP函数“join”在字符间插入百分号。
具体参考代码如下:
<?php
functionstr_split_utf8($str){
$split=1;
$array=array();
for($i=0;$i<strlen($str)){
$value=ord($str[$i]);
if($value>127){
if($value>=192&&$value<=223)$split=2;
elseif($value>=224&&$value<=239)$split=3;
elseif($value>=240&&$value<=247)$split=4;
}else{
$split=1;
}
$key=NULL;
for($j=0;$j<$split;$j++,$i++){
$key.=$str[$i];
}
array_push($array,$key);
}
return$array;
}
$string="网络知道www..cn";
$arr1=str_split_utf8($string);
echojoin("%",$arr1);
?>
⑽ 探讨PHP函数split()如何使用正则表达式切割字符串
如何使用PHP函数sprintf()将字符串格式化PHP函数preg_split的正确使用方法解读PHP函数explode()的具体使用方法PHP函数implode()与explode()函数的不同PHP类CMS如何自动获取关键字说明array split ( string $pattern, string $string [, int $limit] )提示preg_split() 函数使用了 Perl 兼容正则表达式语法,通常是比PHP函数split()更快的替代方案。