请问如何截取指定字符串,并判断 http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg请问如何得到 . 和最后一个/ 之间的 b3_m 然后判断这个字符串中是否包含 b 这个字符??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 获取.和最后一个/ 之间的 b3_m的方法:$url = "http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg";preg_match("/\/([^.\/]+)\.[^.\/]+$/",$url,$match);print_r($match[1]);//输出b3_m判断这个字符串中是否包含 b 这个字符?echo (preg_match("/[b]+/",$match[1])? '包含字符b' : '不包含字符b'); 谢谢heyc1998请问我在循环里面判断 为什么if(preg_match("/[b]+/",$match[1])) { var_dump($match[1]); }就报错了?错误信息Notice: Undefined offset: 1 $url = "http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg";preg_match("/\/([^.\/]+)\.[^.\/]+$/",$url,$match);if(preg_match("/[b]+/",$match[1])){var_dump($match[1]);}//输出string(4) "b3_m" 你好。一个图片是没问题。但是多个就报错。for($i=0; $i < $i_count; $i++){ $match = ''; preg_match("/\/([^.\/]+)\.[^.\/]+$/",$a_image_list[$i]['image_url'],$match); if(preg_match("/[a]+/",$match[1])) { var_dump($i); } if($i == 8000) { break; }}错误Notice: Undefined offset: 1 in E:\a.php on line 19但是信息都是能正常输出的·求解。 我在外面重新定义了一次也没用~~ $url = "http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg";if(preg_match("/\/([^\.\/]*?)\.[^\.\/]*?$/is",$url,$match)){ echo $match[1]."<br>"; $tmp = $match[1]; if(preg_match("/b+/is",$tmp,$match)){ echo $tmp."包含字符“b”"; }else{ echo $tmp."不包含字符“b”"; }}else{ echo "没有匹配到相关数据";} 你的$a_image_list[$i]['image_url'] 打出来看看是什么! string (60)http://200909/16/10090017/22/08_m.jpg" string(60) "http://200909/16/10090017/22/07_m.jpg" string(60) "http://10090017/22/06_m.jpg" 这样的 String str="http://200909/16/10090017/22/08_m.jpg";sbuString(str,str.lastIndexOf("/"),str.lastIndexOf(".")) $url = 'http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg' .'http://www.baidu/s3kd/200909/16/10090015/22/c3_m.jpg' .'http://www.baidu/s3kd/200909/16/10090015/22/d3_m.jpg';$need = 'b3';if(preg_match_all("#/([^/]*(?=".preg_quote($need).")(?:[^/]+))\.[a-z]+#i",$url,$match)){ echo $match[1][0];}else { echo "不含有:".$need;} 再+个判断好了!for($i=0; $i < $i_count; $i++){ $match = ''; if(preg_match("/\/([^\.\/]+)\.[^\.\/]+$/",$a_image_list[$i]['image_url'],$match)) { if(preg_match("/[a]+/",$match[1])) { var_dump($i); } }else{ echo('未匹配到'); continue; } if($i == 8000) { break; }} 原因是循环匹配的过程中存在位匹配到的情况,这时候$match[1]是不存在的! 弱弱得问一个JOOMLA的问题 为什么我的表单只能提交一次 如何判断一组数据在一个信息里出现多少次 如何获得textarea标签的值并传给另一个页面 <a href=...语句如何给php添加链接? php项目外包 【急!!!】如何查看网站是否有外网站的盗链? 关于FCKeditor的上传处理 求救:在win2000中如何配置php和apache,IIS PHP 不用正则验证邮件 大神何在 PHP中ucenter问题,期待指导 PHP!!
preg_match("/\/([^.\/]+)\.[^.\/]+$/",$url,$match);
print_r($match[1]);//输出
b3_m
判断这个字符串中是否包含 b 这个字符?echo (preg_match("/[b]+/",$match[1])? '包含字符b' : '不包含字符b');
请问我在循环里面判断 为什么if(preg_match("/[b]+/",$match[1]))
{
var_dump($match[1]);
}就报错了?
错误信息Notice: Undefined offset: 1
$url = "http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg";
preg_match("/\/([^.\/]+)\.[^.\/]+$/",$url,$match);
if(preg_match("/[b]+/",$match[1]))
{
var_dump($match[1]);
}//输出
string(4) "b3_m"
for($i=0; $i < $i_count; $i++)
{
$match = '';
preg_match("/\/([^.\/]+)\.[^.\/]+$/",$a_image_list[$i]['image_url'],$match);
if(preg_match("/[a]+/",$match[1]))
{
var_dump($i);
}
if($i == 8000)
{
break;
}
}错误Notice: Undefined offset: 1 in E:\a.php on line 19但是信息都是能正常输出的·求解。 我在外面重新定义了一次也没用~~
$url = "http://www.baidu/s3kd/200909/16/10090015/22/b3_m.jpg";
if(preg_match("/\/([^\.\/]*?)\.[^\.\/]*?$/is",$url,$match)){
echo $match[1]."<br>";
$tmp = $match[1];
if(preg_match("/b+/is",$tmp,$match)){
echo $tmp."包含字符“b”";
}else{
echo $tmp."不包含字符“b”";
}
}else{
echo "没有匹配到相关数据";
}
你的$a_image_list[$i]['image_url'] 打出来看看是什么!
这样的
sbuString(str,str.lastIndexOf("/"),str.lastIndexOf("."))
.'http://www.baidu/s3kd/200909/16/10090015/22/c3_m.jpg'
.'http://www.baidu/s3kd/200909/16/10090015/22/d3_m.jpg';
$need = 'b3';
if(preg_match_all("#/([^/]*(?=".preg_quote($need).")(?:[^/]+))\.[a-z]+#i",$url,$match))
{
echo $match[1][0];
}
else
{
echo "不含有:".$need;
}
再+个判断好了!for($i=0; $i < $i_count; $i++)
{
$match = '';
if(preg_match("/\/([^\.\/]+)\.[^\.\/]+$/",$a_image_list[$i]['image_url'],$match))
{
if(preg_match("/[a]+/",$match[1]))
{
var_dump($i);
}
}else{
echo('未匹配到');
continue;
}
if($i == 8000)
{
break;
}
}