我从数据库中获取文本数据。如果有短划线或全停,我想换线。怎么办?
这是我的代码。
function text_format($txt) {
echo str_replace(array('-','.',':'), "<br/>", $txt);
}
此代码插入break-linse,但字符将被删除,我需要的是插入断行而不删除字符
答案 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()
可以替换其他人的特殊字符。第一个参数是需要替换的所有字符的列表,因此-
和.
和第二个参数是一个换行符,用于告诉要替换的字符被换行取代。
编辑:您的原始代码是正确的,只是您已经两个错字,请参阅评论。