我有包含这个html字符串的变量。我希望将当前标记结束>
更改为required>
。我真的很难理解preg_replace
所以请写信给我如何构建正确的正则表达式。
$htmlVariable =' <div class="outer required">
<div class="form-group af-inner">
<label class="sr-only" for="name">~name~</label>
<input type="text" name="name" id="name" placeholder="~Name~" value="" size="30" data-toggle="tooltip" title="" class="form-control placeholder" >
</div>
</div>
<div class="outer required">
<div class="form-group af-inner">
<label class="sr-only" for="email">~mail~</label>
<input type="text" name="email" id="email" placeholder="~Email~" value="" size="30" data-toggle="tooltip" title="" class="form-control placeholder" >
</div>
</div>';
$out = preg_replace("<input name=email (>)","required>",$htmlVariable);
如果input
包含值>
的{{1}},我会尝试将required>
结束input
更改为name
。**
这对我很重要。感谢
答案 0 :(得分:2)
所以有一些事情:
因此,您需要使用正则表达式占位符字符构建一个更好的正则表达式来解释一些变化:
$out = preg_replace("/(<input.*?name\s*?=[\s*?\'\"]email[\'\"].*?)>/","$1 required>",$htmlVariable);
希望这有帮助!