首页 > 解决方案 > 获取文件内容并在客户端替换多个值

问题描述

test.php
lorem 蓝色 ipsum 红色

$str = file_get_contents('test.php');
$new_str = str_replace(['blue','red'], ['green','gold'], $str);
echo $new_str;  // lorem green ipsum gold

我在客户端也需要同样的

var str = content of test.php  // how to get this
var new_str = str.replace(...) // how to replace multiple values
console.log(new_str);  // lorem green ipsum gold

有什么帮助吗?

标签: javascriptjquery

解决方案


您必须向fetch服务器发出请求以获取文件并读取其内容,因此您可以执行以下操作

fetch("./test.php")
  .then(function (result) {
    return result.text();
  })
  .then(function (content) {
    var replacements = [
      ["blue", "red"],
      ["green", "gold"],
    ];
    var final = content;

    for (var i = 0; i < replacements.length; i++) {
      var pairs = replacements[i];
      var replace = pairs[0];
      var replaceWith = pairs[1];

      final = final.replace(replace, replaceWith);
    }
    console.log("final", final);
  })
  .catch(function (error) {
    console.error(error);
  });

假设您的test.php文件具有以下内容:

lorem blue ipsum red

运行上面的代码片段,结果将是:

lorem red ipsum red

推荐阅读