Преобразование функции ASP в PHP

1

Я нахожусь в процессе перемещения сайта студии звукозаписи с сервера на базе 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
    Вы заставили меня путешествовать на 10 лет в прошлое.
  • 0
    Это именно то, когда сайт был сделан!
Теги:
code-conversion

2 ответа

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
    Было бы еще удобнее с синтаксисом heredoc .
  • 0
    @Syck: да, это может быть
Показать ещё 4 комментария
2
  • замените каждый + на a .
  • префиксные переменные с $
  • завершать линии ;
  • $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"); ?>
  • 0
    Вы забыли знак $ в strAutore
  • 0
    Спасибо, исправлено. Я продолжал бороться с проблемами форматирования.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню