在文本区域中将新行更改为<br>

Ark*_*ler 5 html php textarea newline

我的问题非常简单.我想将文本区域中的新行更改为<br>标记但是我需要将最终字符串作为单行文本.我尝试使用nl2br函数,但结果我得到了带有<br>标签和新行的字符串.我还尝试简单地用 或 符号替换<br>,str_replace但它不起作用.
这是我最新代码的示例:

Godziny otwarcia: <textarea name="open" rows="3" cols="20">'."$openh".'</textarea>
<input type="submit" name="openb" value="Zmie?"/><br>
Run Code Online (Sandbox Code Playgroud)


    if($_POST['openb']) {
    $open = $_POST['open'];
    str_replace('&#010', '<br>', $open);
    change_data(21, $open);
}
Run Code Online (Sandbox Code Playgroud)

$openh是这样的结果:

$tab = explode('<br>', $openh);
$openh = null;
for($i=0;$i<count($tab);$i++)
    $openh = $openh . $tab[$i] . '&#013';
Run Code Online (Sandbox Code Playgroud)

(是的,我知道我可以使用str_replace,不要问我为什么这样做)
和原来$openh$openh = 'Pon-pt 9:00-17:00<br>?roda 12:00-17:00'

也是你可能想看到我的change_data功能,因为它连接到为什么我需要字符串在一行,所以这里它是:

function change_data($des_line, $data) {
    $file = 'config.php';
    $lines = file($file);
    $i=1;
    foreach($lines as $line_num => $line) {
        $wiersz[$i] = $line;
        $i++;
    }
    $change = explode("'", $wiersz[$des_line]);
    $wiersz[$des_line] = $change[0] . "'" . $data . "'" . $change[2];
    $i = 1;
    $f = fopen($file, w);
    while($i <= count($wiersz)) {
        fwrite($f, $wiersz[$i]);
        $i++;
    }
    fclose($f);
    header('location: index.php?p=admin');
}
Run Code Online (Sandbox Code Playgroud)

我不是PHP专家,所以有时候我做的事情很"艰难".我在config.php逐行读取文件时遇到了很大的问题,这些是我几小时努力的结果:(

Cwi*_*ssy 11

你试过PHP常量PHP_EOL吗?在你的str_replace代码?

$open=str_replace(PHP_EOL,"<br>",$_POST["open"]);
Run Code Online (Sandbox Code Playgroud)