php换行问题 - 函数返回while循环的echo

时间:2013-11-30 16:08:23

标签: php while-loop echo break

我的问题是,while循环中的两个第一个函数回声会破坏代码中的行,之后就可以了。

功能:

function firstFunction($string) {
$search = array(' - ',' ','.');
$replace = array('-','-','-');
$string = strtolower(str_replace($search,$replace,$string));
return $string;
}

我的循环:

... 
while($row = mysql_fetch_array($result)){ 
echo '
<!-- '; echo firstFunction($row['name']).' -->
blabla '; echo secondFunction().' blabla
';
};
...

源代码中的影响:

<!-- course-a
-->blabla secondFResult
blabla
<!-- course-b -->
blabla secondFresult blabla
<!-- course-c -->
blabla secondFresult blabla

我想要这样:

<!-- course-a -->
blabla secondFresult blabla
<!-- course-b -->
blabla secondFresult blabla
<!-- course-c -->
blabla secondFresult blabla

2 个答案:

答案 0 :(得分:1)

我看到你已经解决了这个问题,但我还没有评论的声誉,并想以你的方式抛出这些信息

如果数据为a - b. c

,则使用当前的firstFunction

你最终会得到类似a--b--c

的内容

我建议你把它改成

function firstFunction($string) {
    $string = preg_replace("/[-\s.]+/", "-", $string);
    return $string;
}

答案 1 :(得分:0)

可能是因为name键的值包含数据库中附加的换行符。尝试通过重新输入值或在您的firstfunction()函数中对其进行过滤来修复它。