1

现在我有 2 个 php 页面。

第 1 页有一个功能,其中正在执行 AJAX 调用。成功后,我想用 id omschrijving 在特定范围内显示结果。

编码:

  function toonProfiel() {
    $.ajax({
    type: "GET",
    url: "./query/get.php",
    dataType: 'json',
    success: function (value) {
      alert (value.omschrijving);
      $("#omschrijving").html(value.omschrijving);
    }
    });
  }

当然,我也有 get.php 页面,看起来像这样(简化):

if ($stmt = $mysqli->prepare("SELECT omschrijving FROM leden")) {

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($omschrijving);

    /* fetch value */
    $stmt->fetch();

    $value= array(
      'omschrijving' => $omschrijving
    );

    echo json_encode($value);

    /* close statement */
    $stmt->close();
}

/* close connection */
$mysqli->close();

?>

现在,当我提醒 value.omschrijving 时,标记仍然很好。显然它在 mySQL 中正确保存,并且以正确的格式检索。

但是,当然,当我使用函数 .html(value.omschrijving) 时,它不是 html 格式,所以它只是 1 个长字符串。

它看起来像这样:这是第 1 行。这是第 2 行。

HTML 格式(报价出现在开发人员工具中,但不在页面上,空白规则在那里但不在页面上):

<span id="omschrijving">
"this is line 1.

this is line 2."
</span>

我想保留/添加 html 格式,以便它显示如下:

这是第 1 行。

这是第 2 行。

这可能吗?

4

2 回答 2

0

“span”标签用于显示“内联”元素。您的文本包含在单个跨度标记中,因此它显示在一行上。插入换行符的方法有很多种,您可以将每一行包含在“p”或“div”标签内,或者只需在您希望的位置插入换行符“br”。只要您实际上没有看到 html 标签,您的代码就可以正常工作。即使您的 html 看起来像这样:

    <span id="omschrijving">
    "this is line 1.

     this is line 2."
    </span>

在您的代码编辑器中,如果不使用“& nbsp;”,则不会自动保留空格和换行符 或换行标签。如果您不想使用 & 符号或换行标记,也可以查看 CSS white-space属性。

于 2013-08-13T22:51:26.390 回答
-1

您的文本字符串是否被换行符破坏?这可以解释为什么它们在 MySQL 而不是 HTML 中看起来很好

尝试:

function (value) {
  value.split("\n").map(function(n,i){return "<p>"+n+"</p>";}).join("\n");
  alert (value.omschrijving);
  $("#omschrijving").html(value.omschrijving);
}

这将在新行上拆分,然后将每一行包装在 < p> 标记中,然后在每行之间重新加入换行符,只是为了便于阅读。

于 2013-08-13T21:42:41.737 回答