php str_替换问题还是错误?
我有以下问题, 这是我试图从下面的字符串中删除的php str_替换问题还是错误?,php,str-replace,Php,Str Replace,我有以下问题, 这是我试图从下面的字符串中删除的javascript:l(“”): javascript:l("Bayou-La-Batre"); 我的代码是 $q_string = str_replace('javascript:l(" ','',$row['1']); 但它失败了 这比正则表达式替换更快 有什么想法吗?你留了个空间 $q_string = str_replace('javascript:l("','',$row['1']); 你留下了一个空间 $q_string = s
javascript:l(“
”):
javascript:l("Bayou-La-Batre");
我的代码是
$q_string = str_replace('javascript:l(" ','',$row['1']);
但它失败了
这比正则表达式替换更快
有什么想法吗?你留了个空间
$q_string = str_replace('javascript:l("','',$row['1']);
你留下了一个空间
$q_string = str_replace('javascript:l("','',$row['1']);
改变
到
改变
到
每当我遇到这种问题时,我都会尝试在一个单间隔编辑器中格式化我的搜索/替换调用,以查看是否会弹出任何内容
$q_string = str_replace('javascript:l(" ', '',
'javascript:l("Bayou-La-Batre")';
这样格式化后,很明显搜索字符串的第15个字符与正在搜索的字符串的第15个字符不匹配([]对[B])
尝试删除空白,您会很高兴的。每当我遇到这种问题时,我都会尝试在单间隔编辑器中设置搜索/替换调用的格式,以查看是否会弹出任何内容
$q_string = str_replace('javascript:l(" ', '',
'javascript:l("Bayou-La-Batre")';
这样格式化后,很明显搜索字符串的第15个字符与正在搜索的字符串的第15个字符不匹配([]对[B])
尝试删除空白,你会很高兴的。你可以使用
$q_string = substr($row['1'], 14);
为了在一定的速度增益下获得相同的结果,我测试了三个函数的速度,以便您可以看到它们与速度的比较
$string = 'javascript:l("Bayou-La-Batre")';
$str_replace = function($string) {
return str_replace('javascript:l("', '', $string);
};
print $str_replace($string) . "\n";
$substr = function($string) {
return substr($string, 14);
};
print $substr($string) . "\n";
$preg_replace = function($string) {
return preg_replace('/^[a-z:\(]+"/', '', $string);
};
print $preg_replace($string) . "\n";
function measure($function, $string) {
$start = microtime(true);
for($i = 0; $i < 1000000; $i++) {
$function($string);
}
return microtime(true) - $start;
}
print 'Substr: ' . measure($substr, $string) . "\n";
print 'Str replace:' . measure($str_replace, $string) . "\n";
print 'Preg replace:' . measure($preg_replace, $string);
$string='javascript:l(“bayoula Batre”);
$str_replace=函数($string){
返回str_replace('javascript:l(“,”,$string);
};
打印$str\u replace($string)。“\n”;
$substr=函数($string){
返回substr($string,14);
};
打印$substr($string)。“\n”;
$preg_replace=函数($string){
返回preg_replace('/^[a-z:\(]+“/”,''$string);
};
打印$preg\u replace($string)。“\n”;
函数度量($function,$string){
$start=microtime(真);
对于($i=0;$i<1000000;$i++){
$function($string);
}
返回微时间(true)-$start;
}
打印“Substr:”。度量($Substr,$string)。“\n”;
打印“Str replace:”。度量($Str\u replace,$string)。“\n”;
打印“Preg replace:”。度量($Preg_replace,$string);
在我的机器上的输出
巴特尔湾”)巴特尔湾”)
巴特尔湾”)
Substr:3.7492098808289
Str替换:4.5258920192719
预更换:5.8815109729767 你可以用
$q_string = substr($row['1'], 14);
以获得相同的速度增益结果。我已经测试了三种功能的速度,所以你可以看到它们与速度的比较
$string = 'javascript:l("Bayou-La-Batre")';
$str_replace = function($string) {
return str_replace('javascript:l("', '', $string);
};
print $str_replace($string) . "\n";
$substr = function($string) {
return substr($string, 14);
};
print $substr($string) . "\n";
$preg_replace = function($string) {
return preg_replace('/^[a-z:\(]+"/', '', $string);
};
print $preg_replace($string) . "\n";
function measure($function, $string) {
$start = microtime(true);
for($i = 0; $i < 1000000; $i++) {
$function($string);
}
return microtime(true) - $start;
}
print 'Substr: ' . measure($substr, $string) . "\n";
print 'Str replace:' . measure($str_replace, $string) . "\n";
print 'Preg replace:' . measure($preg_replace, $string);
$string='javascript:l(“bayoula Batre”);
$str_replace=函数($string){
返回str_replace('javascript:l(“,”,$string);
};
打印$str\u replace($string)。“\n”;
$substr=函数($string){
返回substr($string,14);
};
打印$substr($string)。“\n”;
$preg_replace=函数($string){
返回preg_replace('/^[a-z:\(]+“/”,''$string);
};
打印$preg\u replace($string)。“\n”;
函数度量($function,$string){
$start=microtime(真);
对于($i=0;$i<1000000;$i++){
$function($string);
}
返回微时间(true)-$start;
}
打印“Substr:”。度量($Substr,$string)。“\n”;
打印“Str replace:”。度量($Str\u replace,$string)。“\n”;
打印“Preg replace:”。度量($Preg_replace,$string);
在我的机器上的输出
巴特尔湾”)巴特尔湾”)
巴特尔湾”)
Substr:3.7492098808289
Str替换:4.5258920192719
预更换:5.8815109729767