我被指控将一个旧网站迁移到一个新服务器,这也意味着升级(我知道很晚)到PHP 5.
大部分进展顺利,但有一个我无法理解的错误。
该网站用于在线语言课程,现在练习中的所有文本都会显示两次。任何人都可以看到这个函数(用于检索文本)有什么问题吗?
function getBlankWithEndFormatedExerciseText($type, $highLightNr = 0) {
$lastWhereEndOfLine = true;
foreach ($this->children AS $sentence) {
if ($sentence->order == $highLightNr) {
$returnString .= "<SPAN class=\"highLightedExerciseSentence\">";
}
$sentence->selectWordDbInstances();
foreach ($sentence->words AS $word) {
if ($lastWhereEndOfLine) {
if ($word->indent) {
for ($i=0; $i < $word->indent; $i++) {
$returnString .= " ";
}
}
$lastWhereEndOfLine = false;
}
if ($word->wordBase != "" && $word->wordEnd != "") {
$returnString .= $word->wordBase . "-";
} else {
$returnString .= $word->word;
}
if ($word->followedByPunctuation) {
$returnString .= $word->followedByPunctuation;
}
if ($word->endOfLine) {
$returnString .= "<BR>";
$lastWhereEndOfLine = true;
} else {
$returnString .= " ";
}
}
if ($sentence->order == $highLightNr) {
$returnString .= "</SPAN>";
}
}
return $returnString;
}
我确实意识到这很复杂并且涉及其他功能等等,但是我们非常感谢任何帮助。
使用以下函数调用该函数:
echo("<DIV>" . $exercise->getBlankWithEndFormatedExerciseText($exercise->exerciseType, 0) . "</DIV><HR>");