PHP: Prepend/append 字符串到变量
PHP: Prepend/append string to a variable
所以几个小时以来我一直在努力思考这件事,
但似乎没有任何效果。
for($i = 0 ; $i < count($lines); $i++){
$currentLine = $lines[$i];
$search = array('ø', '', 'ï', 'ò');$replace = array('ř', 'ť', 'ď', 'ň');
$subject = str_replace($search, $replace, $currentLine);
$finalLine = '"'.$subject.'",';
file_put_contents($fileName, $finalLine, FILE_APPEND);
};
事情很简单,我正在遍历 .dic 文件中的行(它只是单词列表,一行一个单词),
对于每个单词,我都会替换一些错误的字符,最后我会尝试 用双引号 将单词括起来(单引号也不起作用)。
问题是,引号没有正确添加,我得到的不是 "someword",
","someword
// $currentLine = someword;
echo '"'.$currentLine.'",';
// returns
","someword
我需要它来将 .dic 文件转换为 json,这样我就可以在我正在制作的 javascript 游戏中使用它。
有人可以帮忙吗?我找不到任何类似的问题,这里没有,google 上也没有。我试过单引号,我试过把整个东西做成数组
$newline = Array(
0 => '"',
1 => $currentLine,
2 => '",'
)
然后加入数组,结果一样,我现在有点绝望,所以如果有人知道我做错了什么,请告诉我。
我无法从代码中看出您为什么会得到该结果。但这里有一个可能有用的替代方法。
// Set these outside the loop
$search = array('ø', '', 'ï', 'ò');
$replace = array('ř', 'ť', 'ď', 'ň');
$subjects = array();
foreach ($lines as $line)
{
$subject = str_replace($search, $replace, $line);
$subject = trim($subject); // trim if you want to remove extraneous spaces
if (!empty($subject)) // Presumably you don't want to add empty lines if there are any
{
$subjects[] = $subject;
}
}
$allwords = implode(',', $subjects);
file_put_contents($fileName, $allwords, FILE_APPEND);
本质上,创建一个单词数组,使用 implode() 库函数将它们与“,”连接起来,然后将全部添加到您的文件中。
所以几个小时以来我一直在努力思考这件事, 但似乎没有任何效果。
for($i = 0 ; $i < count($lines); $i++){
$currentLine = $lines[$i];
$search = array('ø', '', 'ï', 'ò');$replace = array('ř', 'ť', 'ď', 'ň');
$subject = str_replace($search, $replace, $currentLine);
$finalLine = '"'.$subject.'",';
file_put_contents($fileName, $finalLine, FILE_APPEND);
};
事情很简单,我正在遍历 .dic 文件中的行(它只是单词列表,一行一个单词), 对于每个单词,我都会替换一些错误的字符,最后我会尝试 用双引号 将单词括起来(单引号也不起作用)。
问题是,引号没有正确添加,我得到的不是 "someword",
","someword
// $currentLine = someword;
echo '"'.$currentLine.'",';
// returns
","someword
我需要它来将 .dic 文件转换为 json,这样我就可以在我正在制作的 javascript 游戏中使用它。
有人可以帮忙吗?我找不到任何类似的问题,这里没有,google 上也没有。我试过单引号,我试过把整个东西做成数组
$newline = Array(
0 => '"',
1 => $currentLine,
2 => '",'
)
然后加入数组,结果一样,我现在有点绝望,所以如果有人知道我做错了什么,请告诉我。
我无法从代码中看出您为什么会得到该结果。但这里有一个可能有用的替代方法。
// Set these outside the loop
$search = array('ø', '', 'ï', 'ò');
$replace = array('ř', 'ť', 'ď', 'ň');
$subjects = array();
foreach ($lines as $line)
{
$subject = str_replace($search, $replace, $line);
$subject = trim($subject); // trim if you want to remove extraneous spaces
if (!empty($subject)) // Presumably you don't want to add empty lines if there are any
{
$subjects[] = $subject;
}
}
$allwords = implode(',', $subjects);
file_put_contents($fileName, $allwords, FILE_APPEND);
本质上,创建一个单词数组,使用 implode() 库函数将它们与“,”连接起来,然后将全部添加到您的文件中。