Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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中使用jquery/javascript替换作为preg_replace?_Php_Javascript_Jquery - Fatal编程技术网

如何在PHP中使用jquery/javascript替换作为preg_replace?

如何在PHP中使用jquery/javascript替换作为preg_replace?,php,javascript,jquery,Php,Javascript,Jquery,PHP中的preg_replace函数提供了一个limit参数。例如,第一次出现的“介质替换为原始”,第二次出现的“介质替换为类型” $path = "demo\/medium\/Web081112_P001_medium.jpg"; $path = preg_replace ("/medium/","original",$path,1); $path = preg_replace ("/medium/","type",$path,2); echo $path; // output : demo

PHP中的preg_replace函数提供了一个limit参数。例如,第一次出现的“介质替换为原始”,第二次出现的“介质替换为类型”

$path = "demo\/medium\/Web081112_P001_medium.jpg";
$path = preg_replace ("/medium/","original",$path,1);
$path = preg_replace ("/medium/","type",$path,2);
echo $path;
// output : demo\/original\/Web081112_P001_type.jpg
那么,有没有办法使用JQuery/JavaScript实现类似的功能?谢谢

有没有办法使用jquery/javascript实现类似的功能

使用JavaScript的本机代码

默认情况下,“替换”将仅替换第一个引用-除非设置了“g”修改器

例子: 注意:您的代码与您的规范不匹配。我提到了你的说明

有没有办法使用jquery/javascript实现类似的功能

使用JavaScript的本机代码

默认情况下,“替换”将仅替换第一个引用-除非设置了“g”修改器

例子: 注意:您的代码与您的规范不匹配。我解决了您的规格问题。

一般解决方案:

var n = 0;
"a a a a a".replace(/a/g, function(match) {
  n++;
  if (n == 2) return "c";
  if (n == 3 || n == 4) return "b";
  return match;
})
// => "a c b b a"
此外,您也错了:第二次更换不会发生。限制2并不是说第二次发生,而是说两次发生;然而,在第一次preg_替换之后,你再也没有两种介质了,所以第二次preg_替换最终替换了剩下的一种介质,然后沮丧地退出。您可以使用两个单次非全局替换或preg_replace调用执行相同的操作,而不使用任何限制。

通用解决方案:

var n = 0;
"a a a a a".replace(/a/g, function(match) {
  n++;
  if (n == 2) return "c";
  if (n == 3 || n == 4) return "b";
  return match;
})
// => "a c b b a"

此外,您也错了:第二次更换不会发生。限制2并不是说第二次发生,而是说两次发生;然而,在第一次preg_替换之后,你再也没有两种介质了,所以第二次preg_替换最终替换了剩下的一种介质,然后沮丧地退出。您可以使用两个单次非全局替换或preg_replace调用来执行相同的操作,而不使用任何限制。

这两个函数的作用与您认为的不同。。。第一次出现的时间已被替换。您不能使用jQuery进行字符串操作。是一个更好的选择。@nnnnnn:OMG,还没看到那个链接,太好笑了!:D@Amadan-是的,太棒了。你有没有注意到你可以选择你想要的功能并下载一个自定义的JS包含文件?我想这个网站是今年年中才出现的——我很想知道是否有人对此负责;他们应该得到一个一次性的白金JS徽章或其他什么…2没有做你认为它做的。。。第一次出现的时间已被替换。您不能使用jQuery进行字符串操作。是一个更好的选择。@nnnnnn:OMG,还没看到那个链接,太好笑了!:D@Amadan-是的,太棒了。你有没有注意到你可以选择你想要的功能并下载一个自定义的JS包含文件?我想这个网站是今年年中才出现的——我很想知道是否有人对此负责;他们应该得到一个一次性的白金JS徽章或其他什么…似乎是相当长的路要走。酷,解决方案工程!JavaScript是如此的出人意料和有趣:似乎还有很长的路要走。酷,解决方案有效!JavaScript是如此出人意料和有趣: