我的问题是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()
函数中过滤来修复它。