php正则过滤html(php正则表达式验证网址)
1、你要过滤的字符串是不是就都是这种,就这么长的你的需求是不是就是把字符串里面的各种标签都去掉如果你的需求和上面的说的相符,不需要用正则表达式,PHP 提供了 strip_tags 函数,用来过滤字符串里面的 html 标签;lt?php string=quotltphp1ltp02ltpltp888ltpltphpltp123ltpltphpltp234ltpltphpquotpattern = #39ltphp\s\S*lt\phpiU#39preg_match_all$pattern,$string,$dforeach $d1 as;可以使用strip_tags函数 lt?php rr = strip_tags$str,#39ltimgltaltpltbr#39echo $rr;调用下面函数,想去掉什么标签,就去掉什么 lt?php 去掉指定的html标签 param array $string param bool $str return string function _strip_tags$tagsArr,$str foreach $tagsArr as $tag p=quotlt;是指提取括号包裹的内容以下是我搜集的正则表达式应用及方法,希望对你有用匹配中文字符的正则表达式\u4e00\u9fa5匹配双字节字符包括汉字在内^\x00\xff匹配空白行的正则表达式\n\s*\r 匹配HTML标记;preg_match_all#39lttd\s\S*?rowspan\=\quot1\quot\s\S*?*?lt\tdUs#39,$data,$array0中间不要用*,用*;一定要用正则么PHP的函数可以么lt?php str = #39ltbr sdfasdfsdfaltasdfasdfltbrdsfasdfasdfltlisdfa#39str = strip_tags$str, #39ltbr#39echo $str? 会比用正则效率高不少。
2、1,过滤所有html标签的正则表达式lt?^+ 2,过滤所有html标签的属性的正则表达式$html = preg_replacequotltazAZ+^*quot,quotlt1quot,$html3,过滤部分html标签的正则表达式的排除式比如排除ltp;str = #39ltimg src=quotxxxquotltbaaaltbltbr\nltbb\nbbltbltspan style=quotcolor#FF0000quotyyyltspan#39pattern = #39ltb?!lt\b*lt\bmi#39preg_match_all$pattern, $str, $matches。
3、那就无需正则了php本身就有一个函数strip_tags这个函数有2个参数 第一个需要过滤的字符串, 在这里也就是你说的html, 这个函数必须 第二个要保留的html标签, 就是设置你不想过滤掉的html标签, 这个函数;newHtml = preg_replace#39ltaz+?\s+?*?i#39,#39lt$1#39,$html;\#39Arial\#39,\#39sansserif\#39fontsize9pt\quottestltspan#39$str=stripslashes$strstr = preg_replace#39#lt^\s+^*##39,#39lt$1#39,$strecho htmlspecialchars$strquotltbrquot;public static string StripHTMLstring HTML google quotStripHTMLquot 得到 string Regexs = quotltscript^*?*?ltscriptquot,quotlts*?!?\w+?\w+\w+\s*=?\s*quotquot#39quotquot。
4、lt?php str = #39ltdivltspanlttablelttrlttd我ftyrtyrtltb是ltb中ltstrong国ltstrong人ltimg src=imageslogojpglttdlttrlttableltspanltdiv#39preg_match#39^lt+?\jpg#39;你这个问题我之前做项目的时候也遇到过,你可以从数据入库时入手解决,具体做法就是你可在把数据存入到数据的时候用strip_tags函数剥离HTML标签,这样你在查询的时候就不会遇到这种情况了,完全都是数据,如果存入数据库的;你是要压缩代码吧** * 压缩html 清除换行符,清除制表符,去掉注释标记 * @param$string * @return 压缩后的$string * *function compress_html$string $string = str_replacequot\r\nquot, #39#39。