我原来的字符串看起来像这样
value =''tabindex ='500'
我想用这个
替换字符串value ='电子邮件:'tabindex ='500'onclick = \“if(this.value =='Email:'){this.value ='';}
所以我使用这个str_replace函数
$userForm = str_replace("value='' tabindex='500'", "value='Email:' tabindex='500' onclick=\"if (this.value=='Email:') {this.value='';}\"",$userForm);
我的输出最终成为了这个
value="" tabindex="500" onfocus=" if (this.value == '') { this.value = ''; }"
如果您注意到,除了包含'value =“Email:”的部分之外的所有内容都会被正确替换...
我希望有人可能知道为什么会这样?任何帮助将不胜感激。提前谢谢!
答案 0 :(得分:1)
你可能正在寻找类似的东西:
$userForm = preg_replace('/value=\'\' tabindex=\'(.*?)\'/i', 'value=\'Email:\' tabindex=\'$1\' onclick="if (this.value==\'Email:\') {this.value=\'\';}', $userForm);
结果:
value='Email:' tabindex='500' onclick="if (this.value=='Email:') {this.value='';}
答案 1 :(得分:0)
您可以使用以下代码:
$val = "value='' tabindex='500'";
$result = str_replace( "value='' tabindex='500'", "value='Email:' tabindex='500' onclick=" . '\"if' . " (this.value=='Email:') {this.value='';}", $val );
echo $result;
答案 2 :(得分:0)
这里缺少一些东西,直接复制你的代码:
<?php
$userForm = "value='' tabindex='500'";
var_dump($userForm);
echo '<br><br>';
$userForm = str_replace("value='' tabindex='500'", "value='Email:' tabindex='500' onclick=\"if (this.value=='Email:') {this.value='';}\"",$userForm);
var_dump($userForm);
我最终得到以下结果:
value='Email:' tabindex='500' onclick="if (this.value=='Email:') {this.value='';}"
这似乎是您正在寻找的结果。你在其他地方改变变量吗?