我正在尝试使用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;
}
然而,这仍然无法解决我对新行的问题。
答案 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机器上显示?哪个领域有问题?