21,882
社区成员
发帖
与我相关
我的任务
分享
function cleanLinksImages($str, $prefix){
$reg='/(<[^>]*)(src|href)+[ ]*=[ ]*(\"|\')[(\.+|\/)]+(.*)(\"|\')(.*?)/i';
$s0=$str;
while(preg_match($reg,$s0)){
$s0=preg_replace($reg,"$1 $2=$3".$prefix."$4$5$6",$s0);
}
$reg0='/<img(.*?)(src)=\"(file:|[\w{1-3}]:).*?>/i';
$localFileFix0='/<a.*?href=\"(file:|[\w{1-3}]:).*?>(.*?)<\/a>/i';
$str = preg_replace($reg0,"",$s0);
$str = preg_replace($localFileFix0,'\2',$str);
return $str;
}
function randStr($num){
$base=array('<img src="file:///a/b/c.jpg" alt="" />Image1<br />', //Image1<br />
'<img src="FIle:///a/ab/c.jpg" />Image2<br />', //Image2< br />
'<img src="c://a/ab/c.jpg" />Image3<br />', //Image3<br />
'<img src="a/ab/c.jpg" />Image4<br />',//<img src="$prefix/a/ab/c.jpg" />Image4<br />
'<img src="/a/b/c.jpg"/>Image5<br />',//<img src="$prefix/a/b/v.jpg" />Image5<br />
'<img src="../../../files/a/b/c.jpg" />Image6<br />',//<img src="$prefix/files/a/b/c.jpg" />Image6<br />
'<img src="http://www.justfindu.com/find.png" />Image7<br />',//<img src="http://www.justfindu.com/find.png" />Image7<br />
'<img src="file:a/b/c.jpg" />Image8<br />',//Image8<br />
'<a href="file://a/b/c.html">Link1</a><br />',
'<a href="FiLE://a/ab/c.html">Link2</a><br />',
'<a href="c://a/b/c.html">Link3</a><br />',
'<a href="a/b/c.html">Link4</a><br />',
'<a href="../../a/b/c.html">Link5</a><br />',
'<a href="/a/b/c.html">Link6</a><br />',
'<a href="http://www.abcd.com/a/b/c.html">Link7</a><br />',
'<a href="file:/a/b/c.html">Link8</a><br />',
);
$str='';
for($i=0;$i<$num;$i++){
$randNum=rand(0,time())%count($base)+1;
$str.=$base[$randNum];
}
return $str;
}
$testString1='<div class="cnm">'.randStr(5).'</div>';
$prefix='http://www.ooo.com/';
echo 'Test 1:<br />';
echo 'Old:<textarea cols="50" rows="12">'.$testString1.'</textarea>';
echo 'Changed:<textarea cols="50" rows="12">'.cleanLinksImages($testString1,$prefix).'</textarea>';
echo '<br />';
$testString3='<table><tr><td>'.randStr(2).'</td><td>'.randStr(4).'</td></tr></table>';
echo 'Test 3:<br />';
echo 'Old:<textarea cols="50" rows="12">'.$testString3.'</textarea>';
echo 'Changed:<textarea cols="50" rows="12">'.cleanLinksImages($testString3,$prefix).'</textarea>';
echo '<br />';