在数据文本上设置一个断行

时间:2014-07-18 14:44:21

标签: php

我从数据库中获取文本数据。如果有短划线或全停,我想换线。怎么办?

这是我的代码。

function text_format($txt) {
  echo str_replace(array('-','.',':'), "<br/>", $txt);
 }

此代码插入break-linse,但字符将被删除,我需要的是插入断行而不删除字符

3 个答案:

答案 0 :(得分:0)

您可能想尝试

function text_format($txt) {
if (!empty($txt)) {
    $find = array('-',',');
    $replace = array("\n","\n");
    echo str_replace($find, $replace, $txt));
  }
 }

答案 1 :(得分:0)

一个快速解决方法是提供一个数组作为第二个参数:

str_replace( array('-','.',':'), array('-<br/>','.<br/>',':<br/>'), $txt);
                    ^   ^   ^           ^        ^        ^

replace数组中的每个元素都对应于搜索数组中的元素;请注意,替换数组中的元素包含您不想删除的字符。

答案 2 :(得分:-1)

这里不需要正则表达式,因为这是一项单独的任务。 请执行以下操作。

function text_format($txt) {
    echo str_replace(array('-','.'), "\n", $txt);
}

函数str_replace()可以替换其他人的特殊字符。第一个参数是需要替换的所有字符的列表,因此-.和第二个参数是一个换行符,用于告诉要替换的字符被换行取代。

编辑:您的原始代码是正确的,只是您已经两个错字,请参阅评论。