Пустое поле PHP в </attribute>

Мне интересно, как вернуть значение empy в мой «атрибут», если конечный пользователь не заполнил поле формы под названием «имя» и оставил его пустым.

Мой фактический код:

$domElement = $domDocument->createElement('attribute', $posted_data['name']);
$domAttribute = $domDocument->createAttribute('domainname');
$domAttribute->value = 'Name';
$domElement->appendChild($domAttribute);

Желаемый результат при пустом вводе в поле формы "имя":

<attribute domainname = "Name"></attribute>

Текущий выход на основе фактического кода:

<attribute domainname = "Name"/>

Как видите, он дорабатывается не </attribute>, а просто />.

Есть подсказка?

Хотя эти два примера не идентичны визуально, они идентичны технически.

Simon K 17.07.2018 15:34

@ WebCode.ie Итак, технически говоря, будет ли нормально работать при импорте файла .xml?

Wagner 17.07.2018 15:36

@Wager - Да, должно быть.

Simon K 17.07.2018 15:38

@ WebCode.ie благодарим вас за это.

Wagner 17.07.2018 15:39

Часто называется самозакрывающийся тег, если вам интересно ...

CD001 17.07.2018 15:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
70
1

Ответы 1

Вы можете использовать const LIBXML_NOEMPTYTAG

<?php
$domDocument = new DOMDocument;
$domElement = $domDocument->createElement('attribute');

$domAttribute = $domDocument->createAttribute('domainname');
$domAttribute->value = 'Name';

$domElement->appendChild($domAttribute);

echo $domDocument->saveXML($domElement, LIBXML_NOEMPTYTAG), PHP_EOL;

http://php.net/manual/en/libxml.constants.php#constant.libxml-noemptytag

Я использовал метод $content = chunk_split(base64_encode($domDocument->saveXML($domElement, LIBXML_NOEMPTYTAG)));, но он все тот же

Wagner 17.07.2018 18:03

Также не работал echo $domDocument->saveXML($domElement, LIBXML_NOEMPTYTAG);.

Wagner 17.07.2018 18:04

Я обновил свой ответ полным примером. Как видите, он работает

buildok 18.07.2018 09:54

Для меня это все еще не работает, потому что я зависим от ввода ('attribute', $posted_data['name']) пользователя. Я не могу просто удалить $ posted_data в соответствии с вашим примером.

Wagner 18.07.2018 18:25

Другие вопросы по теме