Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ติดปัญหาเกี่ยวกับการใช้ explode เเยกประโยคตามตัวเเปรตัวนี้ & ครับ



 

ติดปัญหาเกี่ยวกับการใช้ explode เเยกประโยคตามตัวเเปรตัวนี้ & ครับ

 



Topic : 135434



โพสกระทู้ ( 136 )
บทความ ( 0 )



สถานะออฟไลน์




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

Code (PHP)
$key = trim($atags);
$atags_arr = explode("&", $key);




Tag : PHP, HTML5, JavaScript, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-07-29 21:53:46 By : worapong39 View : 578 Reply : 21
 

 

No. 1



โพสกระทู้ ( 4,719 )
บทความ ( 8 )



สถานะออฟไลน์


ลองทบทวนคำถามตัวเองดูใหม่ว่าเข้าใจไหมถ้าไม่ได้อยู่หน้าจอเดียวกัน

ไม่ได้คือยังไงมันออกมาเป็นยังไงถึงไม่ได้ ข้อมูลคืออะไร






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 08:49:56 By : mr.v
 


 

No. 2



โพสกระทู้ ( 136 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.v เมื่อวันที่ 2020-07-30 08:49:56
รายละเอียดของการตอบ ::

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

Code (PHP)
$atags_arr = explode("&", $key);


เพื่อเเยกตามตัว & เเต่ผลลัพที่ได้จะเป็นตาม array ด้านล่างครับ ซึ่งมันมีค่า #038; เข้ามาด้วย

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

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 09:22:20 By : worapong39
 

 

No. 3



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


& น่าจะเป็นอักษรพิเศษ ลอง escape ดูก่อน

explode("\&",$xx)

หรือใช้ single quote
explode('&',$xx)

หรือ
explode('&',$xx)


ประวัติการแก้ไข
2020-07-30 10:12:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 10:09:30 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 136 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-07-30 10:09:30
รายละเอียดของการตอบ ::
ยังไม่ได้เหมือนเดิมครับ บางตัวใช้เเล้วค่า array ที่ได้ก็จะได้เเบบนี้ครับ

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



ประวัติการแก้ไข
2020-07-30 10:38:15
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 10:36:54 By : worapong39
 


 

No. 5



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


ลองใหม่ ตรวจสอบ ข้อมูลอีกที
echo json_encode([$data]);

แล้วเอามาลงให้ดูหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 11:11:39 By : Chaidhanan
 


 

No. 6



โพสกระทู้ ( 136 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-07-30 11:11:39
รายละเอียดของการตอบ ::

[["\u0e19\u0e34\u0e2a\u0e2a\u0e31\u0e19 \u0e2d\u0e31\u0e25\u0e40\u0e21\u0e23\u0e32 ","#038; \u0e2e\u0e2d\u0e19\u0e14\u0e32 \u0e0b\u0e34\u0e17\u0e35"]]

ผมไม่มัั่นใจว่า encode ถูกที่หรือเปล่าครับ
Code (PHP)
$key = trim($atags);
$atags_arr = explode("&", $key);
echo json_encode([$atags_arr]);


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 11:18:55 By : worapong39
 


 

No. 7



โพสกระทู้ ( 1,458 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

ตอบความคิดเห็นที่ : 6 เขียนโดย : worapong39 เมื่อวันที่ 2020-07-30 11:18:55
รายละเอียดของการตอบ ::
ต้องดูตัวที่รับเข้ามา ซึ่งก็คือ $atags

ใช้ PHP version what?

นี่คือตัวอย่าง 7+
Code (PHP)
$x = "นิสสัน อัลเมรา & ฮอนดา ซิที";  
var_dump(explode(" & ", $x));




ผล
array(2) {[0]=>string(40) "นิสสัน อัลเมรา"[1]=>string(28) "ฮอนดา ซิที" }


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 11:44:12 By : PhrayaDev
 


 

No. 8



โพสกระทู้ ( 136 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-07-30 11:44:12
รายละเอียดของการตอบ ::
ปัจจุบัน ตัวโปรเจคยังคงใช้ v. ที่ต่ำกว่า 7 อยู่ครับ



ประวัติการแก้ไข
2020-07-30 12:02:28
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 12:02:11 By : worapong39
 


 

No. 9



โพสกระทู้ ( 1,458 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

ดู $atags
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 12:04:52 By : PhrayaDev
 


 

No. 10



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


echo json_encode([$atags]);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 12:17:24 By : Chaidhanan
 


 

No. 11



โพสกระทู้ ( 136 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-07-30 12:17:24
รายละเอียดของการตอบ ::
ตัวนี้ครับ

["\u0e19\u0e34\u0e2a\u0e2a\u0e31\u0e19 \u0e2d\u0e31\u0e25\u0e40\u0e21\u0e23\u0e32 & \u0e2e\u0e2d\u0e19\u0e14\u0e32 \u0e0b\u0e34\u0e17\u0e35"]

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 13:17:27 By : worapong39
 


 

No. 12



โพสกระทู้ ( 1,458 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

explode แบบไม่ต้อง trim ได้หรือไม่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 13:33:28 By : PhrayaDev
 


 

No. 13



โพสกระทู้ ( 136 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 12 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-07-30 13:33:28
รายละเอียดของการตอบ ::
explode โดยไม่ผ่านการ trim ค่าที่ได้เป็นเเบบนี้ครับ

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

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 13:40:47 By : worapong39
 


 

No. 14



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


เอาโค๊ดกับผลที่ได้ มาแสดด้วยสิครับ

แต่ดูจาก ข้อมูล คห 11

$a = explode('&', $atags);
print_r($a);

จะต้องไม่มี #038; ถ้าเป็น php v 5+
ขอดูโค๊ดจริงๆ ที่ใช้งานหน่อยครับ

หรือจะลองแบบนี้
Code (PHP)
preg_match('/^(.*?)\&(.*?)$/u',$atags, $m);
print_r($m);



ประวัติการแก้ไข
2020-07-30 14:31:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 14:29:51 By : Chaidhanan
 


 

No. 15



โพสกระทู้ ( 1,458 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

Code (PHP)
$atags_arr = explode(" & ", json_encode($atags));
foreach ($atags_arr as &$value) {
    $value = json_decode($value, true);
}
unset($value);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 14:37:06 By : PhrayaDev
 


 

No. 16



โพสกระทู้ ( 136 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 14 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-07-30 14:29:51
รายละเอียดของการตอบ ::
Array ( [0] => นิสสัน อัลเมรา & ฮอนดา ซิที [1] => นิสสัน อัลเมรา [2] => #038; ฮอนดา ซิที ) เป็นค่าที่ print ออกมาครับ

ตัวนี้เป็น code ที่ใช้ครับ
Code (PHP)
$atags = $data['title'];

if (preg_replace('/[^ก-ฮ]/u', '', $atags)) {

    $key = trim($atags);
    $atags_arr = explode("&", $atags);
    foreach ($atags_arr as $k => $r) {
        $keytags = $r;
     }
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 14:53:21 By : worapong39
 


 

No. 17



โพสกระทู้ ( 1,458 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

Code (PHP 5.3)
$temp_arr = explode(" & ", json_encode($atags));
$atags_arr = array();
for ($i=0; $i<count($temp_arr); $i++) {
    $atags_arr[$i] = json_decode('"'.str_replace('"', '', $temp_arr[$i]).'"');
}

print_r($atags_arr);



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


จริงๆ 5.3 explode ธรรมดาก็ได้แล้ว ถ้าวิธีนี้ไม่ได้ ก็ replace #038; ใน array element เอา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 16:12:50 By : PhrayaDev
 


 

No. 18



โพสกระทู้ ( 136 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 17 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-07-30 16:12:50
รายละเอียดของการตอบ ::
ขอบคุณพี่ๆ ทุกคนที่เข้ามาตอบมากๆนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 16:39:37 By : worapong39
 


 

No. 19



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 16 เขียนโดย : worapong39 เมื่อวันที่ 2020-07-30 14:53:21
รายละเอียดของการตอบ ::
ขอโทษผมคงช่วยไม่ได้ และคงไม่เสียเวลามา วิเคราะห์ กับโค๊ดที่ไม่ใช่


คุณลองวิเคราะห์ดู โค๊ด คห 16 มันไม่ได้ result ตามที่คุณนำมาแสดง นะครับ
แค่ explode มันคงไม่ได้ array 3 element แบบนั้น เอาโค๊ดที่คุณใช้ preg_match มาแสดงครับ

จาก 11
["\u0e19\u0e34\u0e2a\u0e2a\u0e31\u0e19 \u0e2d\u0e31\u0e25\u0e40\u0e21\u0e23\u0e32 & \u0e2e\u0e2d\u0e19\u0e14\u0e32 \u0e0b\u0e34\u0e17\u0e35"]

ไม่มีทางเลย ที่จะ explode แล้วมี #038; มาด้วย

Code (PHP)
<?php
$ar=json_decode('["\u0e19\u0e34\u0e2a\u0e2a\u0e31\u0e19 \u0e2d\u0e31\u0e25\u0e40\u0e21\u0e23\u0e32 & \u0e2e\u0e2d\u0e19\u0e14\u0e32 \u0e0b\u0e34\u0e17\u0e35"]');
$m=explode('&',$ar[0]);
echo $ar,'<br>','<pre>',print_r($m,true),'</pre>', json_encode($m);


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

["\u0e19\u0e34\u0e2a\u0e2a\u0e31\u0e19 \u0e2d\u0e31\u0e25\u0e40\u0e21\u0e23\u0e32 "," \u0e2e\u0e2d\u0e19\u0e14\u0e32 \u0e0b\u0e34\u0e17\u0e35"]
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-30 16:53:06 By : Chaidhanan
 


 

No. 20



โพสกระทู้ ( 4,719 )
บทความ ( 8 )



สถานะออฟไลน์


http://www.nationalfinder.com/html/char-asc.htm

& ของคุณที่ว่ามันไม่ใช่ตัว & ล้วนๆ มันคือ &#38;
ดังนั้นคุณต้องเอามา decode ก่อน.
ตย.

Code (PHP)
htmlspecialchars_decode($string);


การจะเอาข้อมูลอะไรมาใช้ ไม่ใช่ดูผ่านหน้าเบราเซอร์อย่างเดียว บางอย่างมันถูก encode มาเพื่อแสดงผลเป็น html ถ้าทำงานไม่ละเอียดพอก็จะเจอปัญหาแบบนี้.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-31 12:48:28 By : mr.v
 


 

No. 21



โพสกระทู้ ( 136 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 20 เขียนโดย : mr.v เมื่อวันที่ 2020-07-31 12:48:28
รายละเอียดของการตอบ ::
ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-31 13:58:29 By : worapong39
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ติดปัญหาเกี่ยวกับการใช้ explode เเยกประโยคตามตัวเเปรตัวนี้ & ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่