Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 12.06.2018, 15:49   #1
Javany
Форумчанин
 
Регистрация: 15.05.2018
Сообщений: 74
Репутация: 129
По умолчанию class при передаче строки с пробелом "ломается" html

Здравствуйте. Столкнулся с проблемкой. Необходимо вывести форму классами. Создаю класс Form - оболочку для создания форм.

Код:

class Form{

	private function Attr($attribute)
	{

	 $string = "";
	foreach ($attribute as $key => $value)
	{
		$string .= $key . "=" . $value;
	}
	return $string;
	}
}

	public function input($attribute)
	{
		$attribute = $this->Attr($attribute);
	return '<input' . $attribute . '><br>';
	}


echo $form->input([' type' => ' text', ' placeholder' => ' Ваше_имя',' name' => ' name']);

Так все работает, вот вывод
Код:

<input type="text" placeholder="Ваше_имя" name="name">

Но но если в ' Ваше_имя' вместо _ поставить пробел то получаю

Код:

<input type="text" placeholder="Ваше" имя="" name="name">

Подскажите в чем ошибка и как с этим бороться.
Спасибо.
__________________
Не задавай вопрос, если не знаешь что делать с ответом...
Javany вне форума   Ответить с цитированием
Старый 13.06.2018, 11:32   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,166
Репутация: 5241
По умолчанию

так Вы же значения в кавычки не берёте, вот и получаете такой баг.

попробуйте:
Код:

<?php

class Form{

	private function Attr($attribute)
	{

	 $string = "";
	foreach ($attribute as $key => $value)
	{
		$string .= $key . '="' . $value.'" ';
	}
	return $string;
	}

	public function input($attribute)
	{
	$attribute = $this->Attr($attribute);
	return '<input ' . $attribute . '><br>';
	}

}

$form = new Form;
echo $form->input(['type' => 'text', 'placeholder' => 'Ваше имя',' name' => 'name']);

?>

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 13.06.2018, 14:32   #3
Javany
Форумчанин
 
Регистрация: 15.05.2018
Сообщений: 74
Репутация: 129
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так Вы же значения в кавычки не берёте, вот и получаете такой баг.
Да именно так, вчера решил эту проблему. Спасибо за помощь.
__________________
Не задавай вопрос, если не знаешь что делать с ответом...
Javany вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Awesomium "ломается" при переключении страниц fanat_96 C# (си шарп) 10 13.04.2018 23:13
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" Sandakan01 Помощь студентам 1 24.02.2016 04:20
Ошибка в программе [Delphi 7] при передаче данных - "socket error" -Jack- Работа с сетью в Delphi 7 18.07.2012 07:29


23:26.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru