ติดปัญหาเกี่ยวกับการใช้งาน explode แยกประโยคตามตัวอักขระพิเศษตัวนี้ & ครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ติดปัญหาเกี่ยวกับการใช้งาน explode แยกประโยคตามตัวอักขระพิเศษตัวนี้ & ครับ
ติดปัญหาเกี่ยวกับการใช้งาน explode แยกประโยคตามตัวอักขระพิเศษตัวนี้ & ครับ
คือผมมีข้อความบางประโยค ที่จะมีตัว & เเบ่งระหว่างเเบรนรถครับ เช่น นิสสัน & ฮอนดา ซึ่งผมใช้ตัว explode ในการเเบ่ง เเต่ไม่สามารถเเบ่งค่าตาม ตัว & ได้ เเนะนำวิธีให้หน่อยครับ
ส่วนนี้คือ ค่า ที่ส่งมาครับ นิสสัน อัลเมรา & ฮอนดา ซิที เเล้วผมนำไเข้าตัว explode เพื่อเเยกประโยค โดยใช้คำสั่ง
เพื่อเเยกตามตัว & เเต่ผลลัพที่ได้จะเป็นตาม array ด้านล่างครับ ซึ่งมันมีค่า #038; เข้ามาด้วย
Array
(
[0] => นิสสัน อัลเมรา
[1] => #038; ฮอนดา ซิที
)
ส่วนนี้คือ ค่า ที่ส่งมาครับ นิสสัน อัลเมรา & ฮอนดา ซิที เเล้วผมนำไเข้าตัว explode เพื่อเเยกประโยค โดยใช้คำสั่ง
1 2 | $key = trim( $atags ); $atags_arr = explode ( "&" , $key ); |
Array
(
[0] => นิสสัน อัลเมรา
[1] => #038; ฮอนดา ซิที
)

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
ตัว #038; น่าจะมาจาก & เป็น Entity Number
& Entity Name
& Entity Number
ให้ผลลัพธ์เปฺ็นตัว &
แสดงว่าข้อความที่นำมาแยกอาจจะติดแท็ก html มาด้วย
เพราะคำสั่ง explode() ก็น่าจะแยกได้อยู่แล้ว
1 2 3 4 | $atags = "นิสสัน อัลเมรา & ฮอนดา ซิที" ; $key = trim( $atags ); $atags_arr = explode ( " & " , $key ); print_r( $atags_arr ); |
นั่นคือค่าที่ส่งมาแยกมีแท็ก html แทรกมา เช่นอาจจะเป็นค่า
1 2 | $atags = "นิสสัน อัลเมรา & ฮอนดา ซิที" ; // หรือ $atags = "นิสสัน อัลเมรา & ฮอนดา ซิที"; |
ปกติค่าที่ติดแท็ก HTML Entity จะส่งผ่าน URL หรือไม่ก็ใช้เพื่อแสดงสัญลักษณ์นั้น โดยไม่ให้กระทบกับรูปแบบ
คำสั่ง อย่างเช่นพวกเครื่องหมายมากกว่า น้อยกว่า ถ้าเรากำหนดโดยสัญลักษณ์นั้นๆ เลย อาจจะมีผลในการแสดง
ก็จะเลี่ยงโดยใช้รูปแบบ > หรือ < แทน
เวลาค่าที่ส่งมาติด HTML มาด้วย พอเรา echo เราอาจจะไม่เห็นค่านั้น อย่างตัว & เราก็จะเห็นแค่ & อย่างเดียว
1 2 3 4 | $atags = "นิสสัน อัลเมรา & ฮอนดา ซิที" ; $key = trim( $atags ); $atags_arr = explode ( "&" , $key ); print_r( $atags_arr ); |
Array
(
[0] => นิสสัน อัลเมรา
[1] => #038; ฮอนดา ซิที
)
วิธีแก้ให้เรา decode หรือแปลง html entity นั้นๆ ด้วยคำสั่ง html_entity_decode() ก็จะได้ประมาณนี้
1 2 3 4 | $atags = "นิสสัน อัลเมรา & ฮอนดา ซิที" ; $key = trim(html_entity_decode( $atags )); $atags_arr = explode ( "&" , $key ); print_r( $atags_arr ); |
1 2 3 4 5 | Array ( [0] => นิสสัน อัลเมรา [1] => ฮอนดา ซิที ) |

ความคิดเห็นที่
2
ขอบคุณครับ

ขอบคุณทุกการสนับสนุน
![]()