Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php str_替换问题还是错误?_Php_Str Replace - Fatal编程技术网

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