【问题标题】:How do I display new line characters without parsing them?如何在不解析的情况下显示换行符?
【发布时间】:2014-01-14 23:25:26
【问题描述】:

我有一个可以编辑配置文件的表单。此文件中的值包含适当的换行符 (\r\n)。我想在表单的文本输入字段中打印此值。但是,PHP 脚本将字符解析为新行,这是意料之中的。我将使用什么函数来显示 \r\n 而无需实际解析它?

配置文件:

$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://in.mailjet.com';
$config['smtp_port'] = '465';
$config['smtp_user'] = '*****';
$config['smtp_pass'] = '*****';
$config['charset'] = 'utf-8';
$config['mailtype'] = 'html';
$config['newline'] = "\r\n";
$config['automailer_address'] = "name@domain.com";

<input type="text" name="newline" size="30" class="text-input" value="'.htmlspecialchars_decode($config['newline']).'">

【问题讨论】:

  • 显示一些代码和提到的配置文件。您的描述缺乏细节。
  • 我已经按照你的要求做了。

标签: php character newline


【解决方案1】:

不解析是指不实际显示新行吗?尝试在 /r/n 周围使用单引号?

$config['newline'] = '\r\n';

【讨论】:

    【解决方案2】:

    因此,从外观上看,您希望将其用于管理界面。首先,我不明白为什么应该直接配置它,因为换行符永远不会为你改变。但是,如果您希望它用于各种显示选项,请执行以下操作...

    $config['newline'] = '\r\n';
    

    然后当你想使用它时,你使用比较......

    if ($config['newline'] == '\r\n') {
        $newline = "\r\n";
    }
    else {
        $newline = "<br>";
    }
    

    然后,您只需在需要使用配置的换行属性的任何地方使用换行变量。

    【讨论】:

    • 使用单引号可防止将文字换行条目编码到配置中。
    • 显然您可以添加一些其他 if 或 switch 语句以使其更加多样化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多