使用php soap获取jira问题时不显示新行

时间:2012-01-10 19:26:56

标签: php soap jira

我正在尝试使用PHP SOAP从JIRA 3.13获取问题详细信息。我能够登录并解决问题;但是,在我的一个领域,我无法获得新的行格式。所以,我得到的只是没有换行符号的特定字段的文本(一切只是附加到一行文本中)。截至目前,我猜php也做了一些从SOAP重新格式化字符串。我这样说的原因是因为我使用SOAP UI进行了一些测试,并且能够通过格式化来获取文本。任何人都可以帮我解决格式化显示文本的方法吗?提前谢谢。

这是我的PHP代码:

try {
    $soap   = new SoapClient("<<JIRA URL>>");
    $auth   = $soap->login($formUsername, $formPassword);

    if ($auth)
    {

        $result0 = $soap->getIssue($auth,'<<JIRA ISSUE ID>>');

        $result = (array) $result0;

        foreach ($result as $key => $a)
        {
            $z = $z . '<br/>' . $key . ' = ' . $a;
        }

        echo $z;
    }
}
catch(Exception $e){
    $string = urlencode($e->getMessage());
    header("Location: login.php?message=".$string);
    die();
}

我只是意识到我不需要将其转换为数组。 只需执行以下操作:

    foreach ($result0 as $key => $a)
    {
        $z = $z . '<br/>' . $key . ' = ' . $a;
    }

然而,这仍然无法解决我对新行的问题。

3 个答案:

答案 0 :(得分:1)

不仅仅是因为在输出换行符之前你没有将换行符更改为<br/>吗?

通过查看浏览器中的来源,应该很容易找出这种情况。

答案 1 :(得分:1)

您需要nl2br()将换行符(\n et.al)转换为HTML <br>标记:

foreach ($result0 as $key => $a)
{
    $z = $z . '<br/>' . $key . ' = ' . nl2br($a);
}

答案 2 :(得分:0)

可能是文本存储在Unix行结尾并且您正在Windows机器上显示?哪个领域有问题?