<img> 我这边有
preg_match_all("/\<img\s+.*?src=[\'\"]*([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)[\'\"\s\>]+/is", $msgarr['message'], $picurlarr);我不知道怎么把
怎么写呢?
2.preg_match_all用两个以上规则用|吗?
preg_match_all("/\<img\s+.*?src=[\'\"]*([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)[\'\"\s\>]+/is", $msgarr['message'], $picurlarr);我不知道怎么把
怎么写呢?
2.preg_match_all用两个以上规则用|吗?
$match = "/(<img\s+[^>].*>|\[img\].*?\[img\])/";
preg_match_all($match , $str , $arr);
var_dump($arr);
<?php
$str = "<img src = '123456.jpg' />[img]123456.jpg[img]";
$match = "/<img\s+src\s*=\s*['\"](.*?)['\"][^>]*?>|\[img\](.*?)\[img\]/";
preg_match_all($match , $str , $arr);
var_dump($arr);
?>
array(3) {
[0]=>
array(2) {
[0]=>
string(26) "<img src = '123456.jpg' />"
[1]=>
string(20) "[img]123456.jpg[img]"
}
[1]=>
array(2) {
[0]=>
string(10) "123456.jpg"
[1]=>
string(0) ""
}
[2]=>
array(2) {
[0]=>
string(0) ""
[1]=>
string(10) "123456.jpg"
}
}
最好还要再考虑一下img标签里是否还有其他的属性,更完整一些
如果按照
preg_match_all("/\<img\s+.*?src=[\'\"]*([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)[\'\"\s\>]+/is", $msgarr['message'], $picurlarr);
的话
[img]怎么写为什么("/\[img\s+.*?src=[\'\"]*([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)[\'\"\s\>]+/is"
这样不对?