【发布时间】:2011-05-10 11:51:56
【问题描述】:
您好,我需要提取名称以“message”结尾的输入值,并将整个内容替换为匹配项。它需要一个替代品。任何想法正则表达式是什么?
感谢您的帮助.. 干杯 -Jeremy
我尝试了很多,这是最后一个
模式
/.*?(message" value="(.*?)").*?/is
替换
$2
想要
The value specified for "Email" is already in use by another registered user
在
<input type="hidden" name="cntnt01message" value="The value specified for &quot;Email&quot; is already in use by another registered user" />
对于这个内容
<form id="cntnt01moduleform_1" method="post" action="http://www..com/account/registration.html" class="cms_form">
<div class="hidden">
<input type="hidden" name="mact" value="SelfRegistration,cntnt01,default,0" />
<input type="hidden" name="cntnt01returnid" value="60" />
<input type="hidden" name="cntnt01assign" value="CONT" />
<input type="hidden" name="cntnt01returnid" value="60" />
<input type="hidden" name="cntnt01input_username" value="s" />
<input type="hidden" name="cntnt01input_Salon" value="s" />
<input type="hidden" name="cntnt01input_Hairstylist" value="s" />
<input type="hidden" name="cntnt01input_email" value="s@cableone.net" />
<input type="hidden" name="cntnt01input_email_again" value="s@cableone.net" />
<input type="hidden" name="cntnt01input_Firstname" value="s" />
<input type="hidden" name="cntnt01input_Lastname" value="Bass" />
<input type="hidden" name="cntnt01input_phone" value="208-s-s" />
<input type="hidden" name="cntnt01input_Street" value="s21st ave" />
<input type="hidden" name="cntnt01input_city" value="s" />
<input type="hidden" name="cntnt01input_state" value="Idaho" />
<input type="hidden" name="cntnt01input_zip" value="s" />
<input type="hidden" name="cntnt01input_Description" value="" />
<input type="hidden" name="cntnt01input_services" value="Color,Perm/Relaxer,Sisterlocks®,Braiding" />
<input type="hidden" name="cntnt01orig_url" value="http://www..com/account/registration.html?mact=SelfRegistration,cntnt01,default,0&amp;cntnt01returnid=60&amp;cntnt01group=Platinum&amp;cntnt01pkg=4" />
<input type="hidden" name="cntnt01group_id" value="4" />
<input type="hidden" name="cntnt01pkg" value="4" />
<input type="hidden" name="cntnt01submit
" value="" />
<input type="hidden" name="cntnt01error" value="1" />
<input type="hidden" name="cntnt01message" value="The value specified for &quot;Email&quot; is already in use by another registered user" />
</div>
【问题讨论】:
-
不确定解析 html 是否会有所帮助.. 它必须是 preg_replace ... 我需要的模式就是 .. tk
-
我相信它会帮助:)而且它比使用正则表达式更可靠。
-
你想替换什么?找到“消息”的完整行?
-
我在 smarty 工作的问题是什么,所以我需要匹配输入的值,谁的名字以“消息”结尾,并使用回调来替换它。 smarty 是 {$foo|regex_replace:'/patteren/':'replace ie: $1'} 所以最后 $foo 是“为 "Email" 指定的值已被另一个注册用户使用" .. 哦,下面没有说明的是 $foo 是上面的整个 html 块。