2012-01-10 17 views
1

PHP SOAPを使用してJIRA 3.13から問題の詳細を取得しようとしています。私はログインして問題を得ることができました。しかし、自分のフィールドでは、新しい行の書式設定を取得できませんでした。ですから、私が得たのは、改行文字なしの特定のフィールドのテキストです(すべてが単一行のテキストに追加されます)。今のところ、私はPHPがSOAPからの文字列のいくつかの再フォーマットを行ったと推測しています。私がこれを言っているのは、SOAP UIでいくつかのテストを行い、書式設定でテキストを取り出すことができたからです。誰でもフォーマットを使ってテキストを表示する方法を教えてくれますか?前もって感謝します。PHP SOAPを使用してjira問題を取得すると、新しい行が表示されない

これは私の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; 
    } 

これは、しかし、まだ新しい行で私の問題を解決していません。

答えて

1

出力する前に改行を<br/>に変更していないだけではないのですか?

ブラウザでソースを見るだけで簡単に見つけられるはずです。

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

出力をhtmlspecialchars(..)に渡し、新しい行の書式設定なしで結果を取得することによって出力をテストしました。しかし、代わりに私がsoapの__getLastResponseをhtmlspecialchars(..)に渡すと、新しい行の書式設定が見えます。 – lwijono

+0

私はhtmlspecialcharsがlfを
に変換するとは思わない。文字をタグではなくHTMLエンティティに変換するために使用されます。 – Fredrik

+0

これを代わりに試してみてください:http://php.net/manual/en/function.nl2br.php – Fredrik

0

テキストがUnixの行末に格納されていて、Windowsマシンに表示されている可能性がありますか?どちらのフィールドに問題がありますか?

+0

説明フィールド: – lwijono

1

あなたがHTMLに <br>タグを(。 \nらを)改行文字を変換する nl2br()を必要としています。私はこれがWindowsやLinuxのフォーマットに関係しているとは思わない。
関連する問題