我試圖保存一個字符串,並且數據與我不想在數組結尾的東西進來。php刪除括號後的所有內容
["bunch", "of", "stuff"]unwantedtext
我正在努力擺脫右括號後的所有內容。這是我最近的嘗試。我最終得到一個空文件。
$toPost = substr($str, 0, strrpos($str, '\]'));
也許我的逃生工作不正常?我也嘗試過雙引號。
這是對原始問題的更新。
這是我的javascript功能:
goalChange = function() {
var i, key, len, postThis;
key = void 0;
postThis = {};
i = 0;
len = localStorage.length;
while (i < len) {
key = localStorage.key(i);
postThis[key] = "" + localStorage.getItem(key);
i++;
}
postThis.goals = localStorage.getItem("goals");
postThis.userid = username;
return $.ajax({
url: "goalChange.php",
type: "POST",
data: postThis,
success: function(response, textStatus, jqXHR) {
return console.log("Yay, the save worked!");
},
error: function(jqXHR, textStatus, errorThrown) {
return console.log("Didn't work so good...");
}
});
};
這裏的PHP文件:
<?
if ($_POST) {
$user = $_POST['userid']; // ADDED THIS LINE AND CHANGED NEXT TO GET STUFF INTO THE USERS OWN FILE
$logFile = dirname($_SERVER['SCRIPT_FILENAME']) . "/" . $user . ".json";
if (!file_exists($logFile)) {
touch($logFile);
chmod($logFile, 0777);
}
$newStr = ($_POST);
$str = str_replace('\\', '', $newStr);
$toPost = substr($str, 0, strrpos($str, ']'));
file_put_contents($logFile, $toPost);
echo "OK";
return;
}
我需要使用用戶ID來保存文件的正確名稱。這是工作,但該文件正在獲取用戶ID添加到我想保留的數組的末尾。
感謝您的幫助。
我會先看看那些不需要的文本是如何到達那裏的。解決問題,不要做一個解決方法。 –
@JustinWood是的,這是我的計劃,但我很好奇搞清楚如何使用strrpos,並讓自己陷入了這個問題。一旦我看到這裏提供的問題/答案沒有涉及到這個確切的問題,它可能值得回答。 – charliemagee
如果您向我們展示如何獲取該數組和文本,我們可能會引導您將其刪除。 –