#php #html #xml
#php #HTML #xml
Вопрос:
У меня есть функция, которая генерирует XML из источника. Однако он отлично работает, когда определенные поля длинные. Это растягивает таблицу вправо и разрушает форматирование веб-сайта. Есть ли способ, возможно, вставить разрывы строк после определенного объема текста или сохранить его в табличном пространстве?
Функция для кода:
function generateXML($mlsID, $xmlLocation) {
if (file_exists($xmlLocation)) {
$simpleXMLobject = simplexml_load_file($xmlLocation);
if (!$simpleXMLobject) {
echo 'ERROR: unable to parse XML file';
exit;
}
$mlsIdWasLocatedInXMLfile = false;
foreach ($simpleXMLobject->Listing as $listing) {
if ($listing->ListingDetails->MlsId == $mlsID) {
$mlsIdWasLocatedInXMLfile = true;
//echo '<table width ="500" style="table-layout:fixed" >';
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($listing->asXML());
echo("<pre>" . htmlspecialchars($dom->saveXML()) . "</pre>");
//echo '</table>';
}
}
if ($mlsIdWasLocatedInXMLfile === false) {
echo "MLS ID NOT FOUND IN XML FILE";
}
} else {
echo 'ERROR: file not found';
}
}
Комментарии:
1. Возможно, какой-нибудь css с максимальной шириной и переполнением: прокрутка?
Ответ №1:
Ну, вы не должны форматировать выходные данные, так как иногда это не имеет смысла. Лучше измените свой веб-сайт — сделайте элемент, в котором вы показываете свою информацию, прокручиваемым.
Если вам нужно выполнить перенос слов, попробуйте использовать эту функцию: wordwrap
Комментарии:
1. Как я могу включить wordwrap в xml? Можете ли вы привести пример?
2. Хорошо заменить ваш вывод на echo(«<pre>» . htmlspecialchars(wordwrap($dom-> saveXML(), 500, «<br />»)) . «</pre>»); должен выполнить эту работу
3. Я пробовал этот код, но он по-прежнему распространяется по всему экрану. Я даже сделал экстремальное число, например, 50 вместо 500.
4. О, моя ошибка. Вы выполняете htmlspecialchars, который удаляет теги <br> . Переключите htmlspecialchars и порядок функций wordwrap, тогда он должен работать
5. Ого! лол. Теперь я тоже это понимаю. Спасибо, что сработало отлично.