У меня есть метод, который используется для создания пользовательской формы из массива свойств.Сделать правильно отформатированный исходный код из функции, управляемой html
Функция работает хорошо для того, что мне нужно, однако при просмотре исходного кода это непрерывная линия, в отличие от более читаемого формата с отступом.
Вот полученный исходный код:
<form><input name=songName type=text placeholder=Title </input><input name=songArtist type=text placeholder=Artist </input><input name=songGenre type=text placeholder=Genre </input><input name=year type=number placeholder=Year </input></form>
Вот что я хотел бы, чтобы это было:
<form>
<input name=songName type=text placeholder=Title </input>
<input name=songArtist type=text placeholder=Artist </input>
<input name=songGenre type=text placeholder=Genre </input>
<input name=year type=number placeholder=Year </input>
</form>
Это последняя функция, которая генерирует HTML:
public function formGenerate($formElements)
{
echo "<form>";
foreach($formElements as $name=>$properties)
{
echo "<input "."name=".$name." ";
$propertiesArray = explode('|',$properties);
foreach($propertiesArray as $property)
{
$split = $this->splitPropertyAndValue($property);
$propertyName = $split['property'];
$propertyValue = $split['value'];
echo $propertyName.'='.$propertyValue." ";
}
echo "</input>";
}
echo "</form>";
}
Ниже приведен пример массива, который передается для $ formElements:
$formElements = array
(
'songName' => 'type:text|placeholder:Title',
'songArtist' => 'type:text|placeholder:Artist',
'songGenre' => 'type:text|placeholder:Genre',
'year' => 'type:number|placeholder:Year'
);
fyi: теги ввода являются закрывающими тегами, во всяком случае, у вас есть пример значения массива '$ formElements'? – Ghost
добавлен в вопрос – datavoredan