javascript - 获取文件内容并在客户端替换多个值
问题描述
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
有什么帮助吗?
解决方案
您必须向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
推荐阅读
- javascript - JS数组查找值的索引
- javascript - 为移动和桌面加载不同的 JS 文件
- java - JSON 列表中的变量名称后跟对象详细信息
- android - 关闭android应用程序时如何播放视频
- sql - pgSQL 在 SELECT 查询之前在其函数中显示错误
- php - Symfony 4 形式 - 变量形式不存在
- c# - 是否可以在启动时显示 DisplayAlert (Xamarin.Forms)
- npm - NPM `EACCES` 错误,不能通过更改默认目录来修复
- php - SocialEngine:使用 Zend_Db_Table_Row_Abstract::save() 更新密码
- javascript - 当用户在 React 中单击窗口上的后退按钮时,将道具传递给您来自的组件