修改一个已有的正则?

php_wsd 2009-12-09 11:05:48
$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 这三个?
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
php_wsd 2009-12-09
  • 打赏
  • 举报
回复
还有点问题,获取的值多了"/>
xuzuning 2009-12-09
  • 打赏
  • 举报
回复
'/ <input[^>]*value\s*=\s*(\"|\')?(.+)(\"|\')?[^>]*>/i'
php_wsd 2009-12-09
  • 打赏
  • 举报
回复
谢谢
如果value后面是T1 2009-5-06 E又不行了,可否直接获取value里面的所有值,里面任何字符都可以,包括标点符号
lonelyriver 2009-12-09
  • 打赏
  • 举报
回复
学习
xuzuning 2009-12-09
  • 打赏
  • 举报
回复
echo preg_replace(
array(
'/ <input[^>]*value\s*=\s*(\"|\')?([ \w]+)(\"|\')?[^>]*>/i'
,'/ <select.*selected([^>]*?)>([^ <]*) <.*\/select>/iU'

)
,array('$2','$2')
,$str
);

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧