常用正则表达式及关键字高亮显示方法
发几个常用的正则表达式匹配。另有一个语法高亮的实现方法。
//用户名验证 下划线或字母开头,6-10位,另w 匹配可能跟区域有关,一般匹配字母、数字、下划线 function is_username($str) { $reg = "/^[_a-zA-Z][-w]{5,9}$/"; if(preg_match($reg,$str) == 1) return true; else return false; }
//密码验证 6到10位,w同上 function is_password($str) { $reg = "/^[w]{6,10}$/"; if (preg_match($reg,$str) == 1) return true; else return false; }
//电子邮件验证 @前的用户名由字母、下划线开头 function is_email($str) { $reg = "/^[_a-zA-Z][-w]*@[w-]+(.[w]+)+$/"; if(preg_match($reg,$str) == 1) return true; else return false; }
//日期验证 匹配xxxx/xx/xx xxxx-xx-xx xxxx/x/x xxxx-x-x格式 function is_date($str) { $reg = "/^d{4}[-/][0-1]?[0-9][-/][0-3]?[0-9]$/"; if (preg_match($reg,$str) == 1) return true; else return false; }
<?php $keyword = "高亮"; ob_start(); ?> <p>ob_start()函数对输出内容进行缓存,ob_get_contents函数获得要输出的内容,使用正则替换函数,将内容中的关键字高亮显示。高亮显示即添加一个背景色或者改变字体的颜色</p> <p>这里的关键字是“高亮”。</p> <?php $str = ob_get_contents(); $str = preg_replace("/".$keyword."/", "<span style ='color:#ff0000;background-color:#ee2;'>".$keyword."</span>", $str); ob_end_clean(); echo $str; ?>