结果:
原来的字符串是这样的
value= " tabindex='500'
我想用这个
替换字符串所以我使用str_replace函数value = '电子邮件:tabindex = 500年的onclick = "如果(this.value = = '电子邮件:'){this.value = ";}
$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:"的部分外,所有内容都被正确替换了…
我希望有人能知道为什么会发生这种情况?任何帮助都将非常感激。提前感谢!
您可能正在寻找如下内容:
$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='';}
preg_replace
可以使用以下代码:
$val = "value='' tabindex='500'";
$result = str_replace( "value='' tabindex='500'", "value='Email:' tabindex='500' onclick=" . '"if' . " (this.value=='Email:') {this.value='';}", $val );
echo $result;
这里缺少一些东西,直接复制您的代码:
<?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='';}"
,这似乎是你正在寻找的结果。您是否在其他地方更改了变量?