str_replace正在替换我的字符串中的所有部分。

时间:2015-09-30 17:58:21

标签: php

我原来的字符串看起来像这样

  

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:”的部分之外的所有内容都会被正确替换...

我希望有人可能知道为什么会这样?任何帮助将不胜感激。提前谢谢!

3 个答案:

答案 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='';} 

preg_replace

答案 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='';}"

这似乎是您正在寻找的结果。你在其他地方改变变量吗?

相关问题