ติดปัญหาเกี่ยวกับการใช้งาน explode แยกประโยคตามตัวอักขระพิเศษตัวนี้ & ครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ติดปัญหาเกี่ยวกับการใช้งาน explode แยกประโยคตามตัวอักขระพิเศษตัวนี้ & ครับ

ติดปัญหาเกี่ยวกับการใช้งาน explode แยกประโยคตามตัวอักขระพิเศษตัวนี้ & ครับ
คือผมมีข้อความบางประโยค ที่จะมีตัว & เเบ่งระหว่างเเบรนรถครับ เช่น นิสสัน & ฮอนดา ซึ่งผมใช้ตัว explode ในการเเบ่ง เเต่ไม่สามารถเเบ่งค่าตาม ตัว & ได้ เเนะนำวิธีให้หน่อยครับ

ส่วนนี้คือ ค่า ที่ส่งมาครับ นิสสัน อัลเมรา & ฮอนดา ซิที เเล้วผมนำไเข้าตัว explode เพื่อเเยกประโยค โดยใช้คำสั่ง

$key = trim($atags);
$atags_arr = explode("&", $key);
เพื่อเเยกตามตัว & เเต่ผลลัพที่ได้จะเป็นตาม array ด้านล่างครับ ซึ่งมันมีค่า #038; เข้ามาด้วย

Array
(
[0] => นิสสัน อัลเมรา
[1] => #038; ฮอนดา ซิที
)


Antinew007 30-07-2020 13:43:48

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

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


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


Antinew007 30-07-2020 19:19






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ