2011-11-11 26 views
6

Được rồi vì vậy tôi có một kịch bản php và tôi cần phải bằng cách nào đó xem giá trị của một trong các biến của tôi. Vấn đề là biến này là một chuỗi XML rất dài được trả về từ một máy chủ. Tôi biết nó có một thông báo lỗi trong đó nhưng tôi cần phải thực sự nhìn thấy những gì nó đang nói. Nếu tôi cố gắng và in hoặc echo giá trị nó chỉ hiển thị phần theo sau bởi một ... hoặc nếu tôi sử dụng var_dump nó làm như vậy. Tôi thậm chí đã đi xa như cố gắng để echo một cảnh báo javascript với giá trị nhưng điều đó không thành công vì có dấu ngoặc kép đơn và đôi trong xml gây ra các báo giá cảnh báo không được công nhận một cách chính xác. Tôi chỉ cần xem giá trị của biến này. Lời khuyên nào? Cảm ơn.Làm thế nào để echo một chuỗi XML đến một trang HTML để gỡ lỗi?

Chỉnh sửa: Thực ra đã nói sai. Echo và in không hiển thị giá trị chính xác vì các thẻ nằm trong <> dấu ngoặc vuông để nó được nhận dạng dưới dạng thẻ html.

+0

Bạn có thể thử viết chuỗi vào tệp qua fopen/fwrite không? – rogerlsmith

Trả lời

13

Bạn có thể sử dụng htmlentities để xuất chuỗi XML để bạn có thể xem được văn bản thuần túy trong trình duyệt.

<?php echo htmlentities($xml_string); ?> 

Hoặc, bạn có thể phân tích chuỗi XML để hiển thị thông báo lỗi, nhưng điều này có thể phức tạp hơn những gì bạn cần.

5

Hãy thử echo htmlentities($var, ENT_COMPAT, 'UTF-8')

+0

Xin cảm ơn! – jcmitch

0

Bạn chỉ có thể lưu chuỗi XML vào tệp. Nếu đó là XML được định dạng tốt, bạn có thể xem nó với mọi trình duyệt (và mở rộng/thu gọn các nút^^).

1

i usaly sử dụng:

echo nl2br(str_replace('<', '&lt;', $xml)); 

như nó chỉ < đó là một vấn đề

2

tôi luôn luôn sử dụng điều này:

echo "<pre>". htmlentities($s) . "</pre>"; 
Các vấn đề liên quan