将 格式化为 并在 PHP 中禁用唯一 (一个 reddit)


Format into and disable unique in PHP (a la reddit)

我想为我的网站做同样的事情,就像我在reddit上看到的那样。当你'一次时,它将不起作用,你必须做两个''才能得到一个

我试过这个:

$texte = preg_replace('#{'n}#', '', $texte);
$texte = preg_replace('#{'n}{'n}#', ''n', $texte);
$texte = nl2br($texte);

而且它不起作用...有人可以帮忙吗?

$str = preg_replace('~(*BSR_ANYCRLF)'R('R?)~', '$1', $str);

带有 (*BSR_ANYCRLF) 选项的'R匹配任何 CRLF 类型换行符序列(删除该选项以匹配所有 Unicode 换行符(。

'R('R)?将导致使用两个换行符$1 = ''R',使用一个换行符$1 = ''


不过,如果您只有一个换行符

,则上述内容将完全删除换行符。这可能不是您想要的。相反,我建议单独保留单个换行符并将双换行符转换为 HTML <br /> 标记:

$str = preg_replace('~(*BSR_ANYCRLF)'R{2}~', '<br />', $str);

试试这个:

$texte = preg_replace('#('r'n|'r)#', "'n", $texte);
$texte = preg_replace('#'n(?!'n)#', ' ', $texte);
$texte = preg_replace('#'n'n#', "'n", $texte);
$texte = nl2br($texte);

第一行规范化行尾。第二个将单个'n替换为空格。第三行将双'n替换为单行。