<?
$str = "abc.xsl adsf.htm asdfkjid.html asdflkj dsf.htm sdfj af.xsl";
preg_match_all("/[^[\.htm]]|\.html|\.xsl/isU", $str, $ar);
print_r($ar);
?>
拿去看吧。
$str = "abc.xsl adsf.htm asdfkjid.html asdflkj dsf.htm sdfj af.xsl";
preg_match_all("/[^[\.htm]]|\.html|\.xsl/isU", $str, $ar);
print_r($ar);
?>
拿去看吧。
解决方案 »
- PHP从右向左截取字符串
- 关于二级域名的问题,求助
- PHP 如何获取SVG图像的尺寸?
- 想做个考试系统,要能随机组卷,核心的随机组卷和评分该怎么弄呢?
- php如何读取二进制文件?
- 求一个正则表达式
- 编码问题
- 请教web中每个页面是否都得关闭连接
- http://www.51shop.org/ 我的个人网站啊,刚刚出炉,看看啊,提点意见啊。欢迎网站进行友情链接
- 我的页面回退时怎么原来的输入都没有了
- 设计论坛的系统问题.好久没来,再散点分.
- 请问:这是什么错误(Client does not support authentication protocol requested by server; consider upgrading MySQL client)?
$str = "adsf.HTM";
if(preg_match("/(?<!\.html|\.xsl|\.htm)$/is",$str)) echo "匹配";
else echo "不匹配";
比如:
(?<!str1)str就是匹配str前面不为str1的字符串,对于你的情况,这里的str就是结尾匹配符号$,str1就是\.html|\.xsl|\.htm看看php文档就明白了
我没有把三个条件都成立,我只不显示.htm的,其它的就看你楼主怎么用了。
楼上你能说说你这部分是什么意思吗?
(
[0] => Array
(
[0] => .xsl
[1] => .html
[2] => .xsl
))
显然不对$str = "abc.xsl adsf.htm asdfkjid.html asdflkj dsf.htm sdfj.txt af.xsl";
print_r(preg_split("/[^\s]+\.(html?|xsl)/",$str));
Array
(
[0] =>
[1] =>
[2] =>
[3] => asdflkj
[4] => sdfj.txt
[5] =>
)
这样才马马乎乎
function test($s) {
if(! preg_match("/\.(html?|xsl)/",$s))
$GLOBALS['ar'][] = $s;
}preg_replace("/([^ ]+)/e","test('$1')",$str);print_r($ar);
$str = "abc.xsl adsf.htm asdfkjid.html asdflkj fjdsl.txt dsf.htm sdfj af.xsl";
preg_match_all("/(?<=\s|^)(?:(?:[^\s](?!\.htm|\.html|\.xsl))*)(?=\s|$)/is", $str, $ar);
print_r($ar);
?>
if(str.search(re)!=-1)
{
alert("不符合条件");
}
else
{
alert("符合条件");
}
$str = "abc.xsl adsf.htm asdfkjid.html asdflkj fjdsl.txt dsf.htm sdfj af.xsl";
preg_match_all("/(?<=\s|^)(?:(?:[^\s](?!\.htm|\.html|\.xsl))*)(?=\s|$)/is", $str, $ar);
print_r($ar);
?>
输入结果:Array
(
[0] => Array
(
[0] => asdflkj
[1] => fjdsl.txt
[2] => sdfj
))
若是要以上结果正确,可以散分了