正则匹配 form 标签
// 正则匹配 form 标签 function regular_form_tags($string){ $pattern = '/<form .*>(.*?)<\/form>/siU'; //$pattern = '/<form(.*?)>(.*?)<\/form>/si'; preg_match_all($pattern,$string,$result); return $result; }
匹配符:
. 匹配除回车以外的任意字符 a.c abc abbbbc () 字符串分组 (a|b) a或b [] 定义字符类,匹配括号中的一个字符 [0-9] [a-z] 等 [^] 表示否定括号中出现字符类中的字符,取反。[^0-9] 是数字 \ 转义字符
限定符:
* 某个字符之后加星号表示该字符不出现或出现多次 ? 表示该字符出现一次或不出现 最多1次 + 表示其前面字符出现一次或多次,但必须出现-次 {n,m}某个字符之后出现,表示该字符最少n次,最多m次 {m} 正好出现了m次
模式修正符 |
i | 模式中的字符将同时匹配大小写字母 |
s | 将字符串视为单行,换行符作为普通字符 |
x | 将模式中的空白忽略 |
U | 匹配最近的字符串 匹配多次 |
// 正则匹配 form 标签的 action 属性值
// 正则匹配 form 标签的 action 属性值 function regular_form_action($string){ $pattern = '/action[\s]*?=[\s]*?([\'\"])(.*?)\1/'; if(preg_match($pattern,$string,$result)){ return $result[2]; } return null; }
// 正则匹配 input 标签
// 正则匹配 input 标签 function regular_input_tags($string){ $pattern = '/<input.*?\/?>/si'; if(preg_match_all($pattern,$string,$result)) { return $result; } return null; }
匹配input截图
// 正则匹配 input 标签的 value 属性值
// 正则匹配 input 标签的 value 属性值 function regular_input_value($string) { $pattern = '/value[\s]*?=[\s]*?([\'\"])(.*?)\1/'; // '/value=\"(.+)\"/isU' 这个也可以 // '|value="(.*)"|isU' // '/<input .* value="(.*)>/' if(preg_match($pattern,$string,$result)) { return $result[2]; } return null; }
// 正则匹配 textarea 标签
// 正则匹配 textarea 标签 function regular_textarea_tags($string) { $pattern = '/(<textarea.*?>.*?<\/textarea[\s]*?>)/si'; if(preg_match_all($pattern,$string,$result)) { return $result[1]; } return null; }
// 正则匹配 select 标签
function regular_select_tags($string) { $pattern = '/<select(.*?)>(.*?)<\/select[\s]*?>/si'; preg_match_all($pattern,$string,$result); return $result; }
常用
preg_match_all('/src="(.*)">/isU',$html,$result3); 图片 preg_match_all('/<table.*>(.*)<\/table>/isU',$html,$result); preg_match_all('/<td.*>(.+)<\/td>/isU',$html,$result); preg_match_all('/value=\"(.+)\"/isU',$html,$result); preg_match_all('|value="(.*)"|isU',$html,$result0); preg_match_all('/<span.*>(.+)<\/span>/isU',$html,$result);
图片的: