4

如何使用 PHP 在多行字符串变量的每一行添加一个字符串,比如'a'存储在变量中?$x

4

3 回答 3

16

还可以使用:

echo preg_replace('/^/m', $prefix, $string);

分隔/。匹配字符串的开头。使它成为多^m

演示

于 2012-06-28T21:15:29.757 回答
5

有很多方法可以实现这一目标。

一种是:

$multi_line_var = $x.str_replace("\n", "\n".$x, $multi_line_var);

另一个是:

$multi_line_var = explode("\n", $multi_line_var);
foreach($multi_line_var AS &$single_line_var) {
    $single_line_var = $x.$single_line_var;
}
$multi_line_var = implode("\n", $multi_line_var);

或者作为一个欺骗性简单的在线人:

$multi_line_var = $x.implode("\n".$x, explode("\n", $multi_line_var));

与第一个相比,第二个非常浪费。它为字符串数组分配内存。它遍历每个数组项并对其进行修改。并将这些碎片重新粘合在一起。

但是,如果一个连接不是您对这些文本行所做的唯一更改,它可能会很有用。

于 2012-06-28T21:06:58.017 回答
3

由于您对每一行的要求,我将首先使用 将字符串拆分为一个数组explode,然后循环遍历该数组并将文本添加到每行的开头,然后将数组转回使用implode. 只要行数不是很大,这可以是一个合适的解决方案。

代码示例:

$arr = explode("\n", $x);
foreach ($arr as $key => $value) {
    $arr[$key] = 'a' . $arr[$key];
}
$x = implode("\n", $arr);

示例:http ://codepad.org/0WpJ41LE

于 2012-06-28T21:14:49.843 回答