我正在尝试使用PHP SOAP从JIRA 3.13获取问题详细信息。我能够登录并获得问题;然而,在我的一个字段上,我无法获得新行格式。所以,我得到的只是没有换行符的特定字段的文本(所有内容都只是附加到一行文本中)。到目前为止,我猜php也对SOAP中的字符串进行了一些重新格式化。我之所以这么说,是因为我对SOAPUI进行了一些测试,并且能够通过格式化来输出文本。有人能帮我找到一种显示带有格式的文本的方法吗?提前谢谢。
这是我的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;
}
然而,这仍然不能解决我对新线路的问题。
这不是因为在输出linefeed之前没有将其更改为<br/>
吗?
只要在浏览器中查看源代码,就可以很容易地发现是否是这种情况。
您需要nl2br()
将换行符('n
等)转换为HTML <br>
标记:
foreach ($result0 as $key => $a)
{
$z = $z . '<br/>' . $key . ' = ' . nl2br($a);
}
可能是文本以Unix行结尾存储,并且您正在Windows机器上显示?哪个领域出现问题?