asp.net — преобразование функции ASP в переполнение стека

Я нахожусь в процессе перемещения сайта студии звукозаписи с сервера на базе Windows на сервер Linux. Это все HTML и PHP, кроме одной страницы, которая использует функцию ASP для обновления новых выпусков.
Я пытался преобразовать его сам, используя «эхо», но я не мог даже приблизиться к рабочему коду.
Вот:

<%

Function PrintRecord(strImage, strAutore, strTitolo, strInfo, strCredits)
dim strRet
strRet = strRet + " <td valign=""top"">"strRet = strRet + " <div style=""margin-left: 20px""> "strRet = strRet + "     <img src=""pictures_works/" + strImage + """ height=""80"" width=""80"" border=""1"">"strRet = strRet +"  </td>"strRet = strRet + " <td width=""170px"" valign=""top"">"strRet = strRet + "     <font class=""TestoPiccoloNo"">"strRet = strRet + "         <b>" + strAutore + "</b><br>"strRet = strRet + "         " + strTitolo + "<br>"strRet = strRet + "         " + strInfo + "<br>"strRet = strRet + "<i>- " + strCredits + " </i>"strRet = strRet + "     </font>"strRet = strRet + " </div> "strRet = strRet + " </td>"PrintRecord = strRet
End Function

%>

И вот код, который я использую для обновления:

<%=PrintRecord("somepic.jpg","someband","somerecord","somelabel","whodidwhat")%>

Любая помощь будет оценена.
Спасибо!

1

Решение

В PHP вы можете сделать несколько строк.

<?php

function PrintRecord($strImage, $strAutore, $strTitolo, $strInfo, $strCredits){
$strRet = '
<td valign="top">
<div style="margin-left: 20px">
<img src="pictures_works/'.$strImage.'" height="80" width="80" border="1">
</div>
</td>
<td width="170px" valign="top">
<div>
<font class="TestoPiccoloNo">
<b>'.$strAutore.'</b><br>
'.$strTitolo.'<br>
'.$strInfo.'<br>
<i>- '.$strCredits.'</i>
</font>
</div>
</td>';
return $strRet;
}
?>

или по синтаксису HEREDOC:

<?php
function PrintRecord($strImage, $strAutore, $strTitolo, $strInfo, $strCredits){
$strRet = << EOT
<td valign="top">
<div style="margin-left: 20px">
<img src="pictures_works/{$strImage}" height="80" width="80" border="1">
</div>
</td>
<td width="170px" valign="top">
<div>
<font class="TestoPiccoloNo">
<b>{$strAutore}</b><br>
{$strTitolo}<br>
{$strInfo}<br>
<i>- {$strCredits}</i>
</font>
</div>
</td>
EOT;
return $strRet;
}
?>

и используйте это так:

<?php echo PrintRecord("somepic.jpg","someband","somerecord","somelabel","whodidwhat");?>

Ну как это выглядит?

1

Другие решения

  • заменить каждый + с .
  • префикс переменных с $
  • завершать строки ;
  • $strRet = $strRet . можно сократить до $strRet .=
  • адаптировать открывающие и закрывающие теги
  • заключить функцию в фигурные скобки
  • замещать "" с \"

<?php

function PrintRecord($strImage, $strAutore, $strTitolo, $strInfo, $strCredits) {
$strRet = '';
$strRet .= " <td valign=\"top\">";
$strRet .= " <div style=\"margin-left: 20px\"> ";
// :
// ...similar
// :
$strRet .= "         <b>" . $strAutore . "</b><br>"; // example for concatenation
// :
$strRet .= " </div> ";
$strRet .= " </td>";
return $strRet;
}

?>

а также

<?php echo PrintRecord("somepic.jpg","someband","somerecord","somelabel","whodidwhat"); ?>
2

По вопросам рекламы [email protected]