ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingถามวิธีการใช้ CDATA ใน PHP ครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ถามวิธีการใช้ CDATA ใน PHP ครับ  (อ่าน 1825 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
nheuoi
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« เมื่อ: 05 พฤษภาคม 2010, 20:08:30 »

ตอนนี้ผมกำลังดึงข้อมูลภาษาไทยจาก text.file ที่เป็นภาษาไทย ออกมาแสดงบน XML ครับ แล้วเจอกระทู้หนึ่งเค้าบอกว่าให้ทำ CDATA ครอบค่าภาษาไทยนั้นด้วย จากกระทู้นี้ครับ
http://www.thaiflashdev.com/home/index.php?topic=4685.0
หลังจากที่หาฟังก์ชันมาได้ มันมีทั้งหมด 3 ตัวน่ะครับ
xmlwriter_end_cdata
xmlwriter_start_cdata
xmlwriter_write_cdata
ลองอ่านวิธีใช้แล้วก็ยังไม่เข้าใจครับ ช่วยผมด้วยครับ T-T
Ex.
$data = “ภาษาไทย”
แล้วผมต้องใช้ฟังก์ชัน cdata ยังไงครับ

คือ พอทราบโครงสร้างอยู่ครับว่าถ้าประกาศตัวแปรทั่วไปก็ประมาณนี้
$str ='<childNode><![CDATA[ภาษาไทย]]></childNode>';
แต่ผมจะเอา <![CDATA[]]> ไปครอบ $data = “ภาษาไทย” ยังไงครับ
บันทึกการเข้า
SekRanger
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 130
ออฟไลน์ ออฟไลน์

กระทู้: 1,564



ดูรายละเอียด
« ตอบ #1 เมื่อ: 05 พฤษภาคม 2010, 20:18:43 »

CDATA ไม่ใช่ภาษา PHP ครับ

CDATA ใช้กับ XML ครับ

CDATA เป็นเครื่องบอกว่า ส่วนนี้ไม่ต้องประมวลผล ให้คงรูปข้อมูลเอาไว้แบบเดิม
อธิบายเป็นตัวหนังสือแล้วยาวครับ
บันทึกการเข้า

navico
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 108
ออฟไลน์ ออฟไลน์

กระทู้: 2,315



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 05 พฤษภาคม 2010, 20:21:59 »

โค๊ด:
$str ='<childNode><![CDATA['.$data.']]></childNode>';

หรือเปล่าครับ....
บันทึกการเข้า
nheuoi
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« ตอบ #3 เมื่อ: 05 พฤษภาคม 2010, 21:29:28 »

คือผมเขียน php สร้าง xml ขึ้นมาน่ะครับ แล้วตัวแปรที่ดึงมาได้มันอยู่ในรูปนี้
โค๊ด:
function getSenses($lemma) {
$fh = fopen($file,"r"); //เปิดไฟล์ตาม path ที่ผมระบุใน $file
$fdata = fgets($fh,128); // ดึง data จากไฟล์ครับ หลังจากนี้จะเป็นการดึง text ไปใส่ใน tag ครับ

$sense[$numsenses]['definition'] = $fdata[0][1][0]; // โดยtag definition = $fdata[0][1][0] มีค่าเป็น <identity>ทารก</identity> ครับ

return array("lemma"=>array("identity"=>$lemma)); // tag identity = $lemma มีค่าเป็น <identity>เด็ก</identity> ครับ
}
เลยอยากทราบน่ะครับว่า ผมจะครอบ CDATA ใน php ยังไงครับ

โค๊ด:
$str ='<childNode><![CDATA['.$data.']]></childNode>';

หรือเปล่าครับ....

แบบนี้ลองแล้วครับ มันไม่ได้ครับ เหมือนว่ามันมองเป็น text แทน มันยังได้ error แบบนี้ครับ
อ้างถึง
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
An invalid character was found in text content. Error processing resource 'http://localhost/visuwords/v2.0/lex.php?find= คำ'...
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์