面试会遇到的正则--去除掉js代码,或是html中代码

来源:互联网 发布:mysql inner join 编辑:程序博客网 时间:2024/05/22 16:39
 header("Content-type:text/html;charset=utf-8"); $str = '<script type="text/javascript" src="jquery.js">adasdf</script>';<script type="text/javascript" src="123.js"></script><script type="text/javascript"> var aa = "sdsds"; alert(aa);</script>//测试php正则匹配掉js代码'; $preg = "/<script[\s\S]*?<\/script>/i"; //里面的?表示尽可能少重复,也就是匹配最近的一个</script>。匹配的规则不能用 "/<script.*<\/script>/i",因为它不能匹配到换行符,但"/<script.*<\/script>/im"可以多行匹配.;或者用"/<[^>].*?>.*?<\/.*?>/si" 再简化 "/<[^>].*?<\/.*?>/si" $newstr = preg_replace($preg,"",$str,3);    //第四个参数中的3表示替换3次,默认是-1,替换全部 echo $newstr; //用正则去除html代码,留下body中的文本; $str = '<html><meta http-equiv="content-type"  content = "text/html;charset=utf-8" /><head><title>daga</title></head><body><b>pipei</b><body><html>'; $preg = '/<b>(((?!<\/b>).)*)<\/b>/mi'; preg_match_all($preg , $str,$newstr); var_dump($newstr);   //去除html代码,除了用正则外,还可以用php自带的函数strip_tags($str,'保留的标签')$str=strip_tags("<html><p>PHP去除HTML代码的函数<br></p></html>","<br>");echo $str; 
0 0