【问题标题】:XML Display FormattingXML 显示格式
【发布时间】:2011-10-31 20:50:16
【问题描述】:

我有一个从源生成 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';
}
}

【问题讨论】:

  • 一些具有最大宽度和溢出的 CSS:滚动,也许?

标签: php html xml


【解决方案1】:

你不应该格式化输出,因为有时它没有意义。更好地改变您的网站 - 制作可滚动显示信息的元素。

如果你需要做自动换行,可以试试这个功能:自动换行

【讨论】:

  • 如何将自动换行合并到 xml 中?能举个例子吗?
  • 将输出替换为 echo("
    " . htmlspecialchars(wordwrap($dom->saveXML(), 500, "
    ")) . "
    " );应该做的工作
  • 我试过那个代码,但它仍然延伸到整个屏幕。我什至做了一个极端的数字,比如 50 而不是 500。
  • 哦,我的错。您正在执行 htmlspecialchars,它会删除
    标签。切换 htmlspecialchars 和 wordwrap 函数顺序,它应该可以工作
  • 哇哦!哈哈。我现在也意识到了。谢谢,效果很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多