这条简单的正则怎么写。。 <?php$pat = "!src=\"([^(\"|http)]*)\"!ieU";$str = 'src="http://www" ';if(preg_match($pat,$str)){ echo "匹配成功";}else{ echo "失败";}我想匹配出 href= src= 这些如果不是以http开头就替换里面的内容, 是以http开头的就不替换上面的正则哪里错了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你试下,我没发现问题$pat='/(src\=[\"\']?http)+|(href\=[\"\']?http)+/';$str = 'src="http://www" ';if(preg_match($pat,$str)){ echo "匹配成功";}else{ echo "失败";} 方括号中的内容是一个个并列的字符,不是你这样成组使用的你可能需要的是这样$pat = '/src="(?!http).*"/iU';$str = 'src="http://www" src="ftp://www"';echo preg_replace($pat, 'xxx', $str);src="http://www" xxx不过这只是实验室代码,实际应用时会有很多麻烦 我的需求就是页面里 src="/aa/aa" href="http://" 这样的如果" "里面不是http开头的,就在他前面加上/bb => src="/bb/aa/aa"如果是http开头的就不替换,这种正则怎么写。。正则不是很熟悉大家可以无视我上面的代码。 像这样?非http:,http://www.开头的,补全URL?$testurls = array( 'http://www.freenewspos.com/italia/creativecommons-photo-album#!POS__calcio&num=0', 'freenewspos.com/italia/creativecommons-photo-album#!POS__NBA&num=0', 'www.freenewspos.com/italia/creativecommons-photo-album#!POS__Twilight&num=0'); foreach($testurls as $singleurl){ echo preg_replace('#(?:http(s)?://)?(?:www\.)?(.+)#', 'http\1://www.\2', $singleurl).'<br />';} var/log文件夹老是被删除,请问怎么查原因 php解密,在线等,急啊 紧急:PHP中执行多条sql报错:用于创建trigger. 求高手解答!怎么才可以长期的引用音乐网的音乐地址,而不担心防盗链的限制! PHP连接mysql返回结果问题, PHP 填写IE地址栏 php 根据不同url 生成缓存记录,高分请大神 有谁在windows2000下装过wamp5吗?1.7.0版的。 求助,替换字符串的问题 求个正则表达式! 关于PDO里自动转义的问题 PHP如何从一段格式标准的字符串中提取自己需要的信息?
$pat='/(src\=[\"\']?http)+|(href\=[\"\']?http)+/';
$str = 'src="http://www" ';if(preg_match($pat,$str)){
echo "匹配成功";
}else{
echo "失败";
}
$pat = '/src="(?!http).*"/iU';
$str = 'src="http://www" src="ftp://www"';
echo preg_replace($pat, 'xxx', $str);src="http://www" xxx不过这只是实验室代码,实际应用时会有很多麻烦
我的需求就是页面里 src="/aa/aa" href="http://" 这样的
如果" "里面不是http开头的,就在他前面加上/bb => src="/bb/aa/aa"
如果是http开头的就不替换,这种正则怎么写。。
正则不是很熟悉
大家可以无视我上面的代码。
'http://www.freenewspos.com/italia/creativecommons-photo-album#!POS__calcio&num=0',
'freenewspos.com/italia/creativecommons-photo-album#!POS__NBA&num=0',
'www.freenewspos.com/italia/creativecommons-photo-album#!POS__Twilight&num=0');
foreach($testurls as $singleurl){
echo preg_replace('#(?:http(s)?://)?(?:www\.)?(.+)#', 'http\1://www.\2', $singleurl).'<br />';
}