2017-10-30 7 views
0

ここではちょっと変わった方がいいかもしれませんが、午前4時には私はここに行くかもしれません。 "commandstring"という名前の変数の中に次のデータがあります。 基本的にCURLの束。仕事のために私はデータを浄化しました。 PHPがテキストフィールドにエコーします...開始時に切り捨てます

curl -k -X PUT http://system/user/summary/12345 -H \"Content-Type:application/xml\" -H \"userType:sometype\" -H \"userName:someuser\" -H \"userPasswordHash:somepasswordhashhere\" -H \"userId:12345\" -d \"<user-summary><userId>12345</userId><dob-status>somestatushere</dob-status><modified>30/09/2017 03:03:09.000</modified></user-summary>\" 
curl -k -X POST "http://system/user/12345/message\" -H \"Content-Type:application/xml\" -H \"userType:sometype\" -H \"userName:someuser\" -H\"userPasswordhash:somepasswordhashhere\" -d \"<user-message><message-text>somemessage</message-text><status>Closed</status><legacy-category>Somelegacycategory</legacy-category></user-message>\""> 

は今、明らかに私はストレートPHPページがある上にカールのタグはHTMLであり、それは本当にめちゃくちゃに見えますが、テキストのほとんどがあると考えてこれらのエコーとき。期待されている各 "-d"の後でちょうど面白くなる。

このユーザーは、テキストをページからコピーして手動で実行します。 最終的にはCURL自体が実行されますが、今はそのページにCURLが正確に表示される必要があります。

私は今、CURLをHTMLテキストエリアにエコーしようとしています。これは、意図したとおりにすべてのタグを表示します。問題は、最初の "-d"の内容をすべて切り取ってしまうことです。

これは最初の行でのみ発生します。後続の行は何件にもかかわらず影響を受けません。

<userId>12345</userId><dob-status>somestatushere</dob-status><modified>30/09/2017 03:03:09.000</modified></user-summary>\" 
curl -k -X POST \"http://system/user/12345/message\" -H \"Content-Type:application/xml\" -H \"userType:sometype\" -H \"userName:someuser\" -H\"userPasswordhash:somepasswordhashhere\" -d \"<user-message><message-text>somemessage</message-text><status>Closed</status><legacy-category>somelegacycategory</legacy-category></user-message>\" 

カールの代わりに「userId」で始まる部分が表示されますが、その理由はわかりません。 私が前に言ったように、テキストは変数に格納されていることを知っています。

ない、それはこの時点では重要かどうかわからが、私はそうのような文字列を取得しています:

$commandstring=$_POST['hiddenstring']; 

、その後、私は問題だと思う場所です(このようにテキストエリアにこだましています)

<textarea id="commandstring" rows="200" cols="200" name="commandstring" value="<?php echo $commandstring; ?>"></textarea> 

私が見落としてきた愚かなその何かを仮定しているが、ifanyoneは、私は非常に感謝されますすることができます!

ありがとうございます!

+4

'value'属性をタグの間に置かないでください - ' 'https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textareaを参照してください。 – Sean

+2

エスケープするとうまくいくはずです。http://php.net/manual/en/function .htmlspecialchars.php。 – chris85

+0

完璧に動作する@Seanは、ありがとうございます! – Twiss

答えて

1

答えとしてだけマークする...ショーンの例を踏襲して移動: "値" のうち

<?php echo $commandstring; ?> 

を、今、このようにtextareaタグ

1

使用挟ん:

<textarea id="commandstring" rows="200" cols="200" name="commandstring"> 
<?php echo $commandstring; ?> 
</textarea> 
関連する問題