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


php line break issue - function return in echo of while loop

我的问题是while循环中的两个第一个函数echo打断了代码中的行,之后一切都很好。

功能:

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

我的while循环:

... 
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

我看到你已经解决了这个问题,但我还没有资格发表评论,我想把这一点信息告诉你

如果数据是a - b. c

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

我建议你把它改成

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

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