$str='<table> <tr> <td>Transmission: <input type="text" value=T1/>---- <select> <option value="男">男 </option> <option value="女" selected="select">女 </option> <option value="半男半女">半男半女 </option></select> </td> </tr><tr> <td>Transmission: <input type="text" value=T1/>---- <select> <option value="男">男 </option> <option value="女" selected="select">女 </option> </select> </td> </tr> </table>';
echo preg_replace(
array(
'/<input[^>]*value\s*=\s*(\"|\')?(\w+)(\"|\')?[^>]*>/i'
,'/<select.*selected([^>]*?)>([^<]*)<.*\/select>/iU'
)
,array('$2','$2')
,$str
);这段代码是正确的,是我要的结果。现在客户在输入的时候,<input type="text" value="T1"/>这里面已经不是T1了,而是<input type="text" value="T1 200 e"/>,得到的结果仍然是T1,麻烦大家帮我看看,如何修改一下,能得到 T1 200 e 这三个?
echo preg_replace(
array(
'/<input[^>]*value\s*=\s*(\"|\')?(\w+)(\"|\')?[^>]*>/i'
,'/<select.*selected([^>]*?)>([^<]*)<.*\/select>/iU'
)
,array('$2','$2')
,$str
);这段代码是正确的,是我要的结果。现在客户在输入的时候,<input type="text" value="T1"/>这里面已经不是T1了,而是<input type="text" value="T1 200 e"/>,得到的结果仍然是T1,麻烦大家帮我看看,如何修改一下,能得到 T1 200 e 这三个?
array(
'/ <input[^>]*value\s*=\s*(\"|\')?([ \w]+)(\"|\')?[^>]*>/i'
,'/ <select.*selected([^>]*?)>([^ <]*) <.*\/select>/iU'
)
,array('$2','$2')
,$str
);
如果value后面是T1 2009-5-06 E又不行了,可否直接获取value里面的所有值,里面任何字符都可以,包括标点符号