มีคำถามเกี่ยวกับ php ครับ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

AePongsak
PHP VIP Members
PHP VIP Members
โพสต์: 4996
ลงทะเบียนเมื่อ: 17/09/2016 10:09 am

มีคำถามเกี่ยวกับ php ครับ

โพสต์ที่ยังไม่ได้อ่าน โดย AePongsak »

สมมุติว่าผมมีข้อมูลเป็น ip 123.123.123.123
ต้องการอยากปิดตัวเลขชุดสุดท้ายหลัง . แล้วให้แสดงเป็น string ***

ตอนนี้ผมใช้คำสั่ง substr และ strrpos (แต่มันปิดการแสดงเลขชุดหลังไปเลย)

โค้ด: เลือกทั้งหมด

<?php echo substr($fetch['ip'], 0, strrpos($fetch['ip'], '.')); ?>
ไม่ทราบว่าต้องเช็คเงื่อนไขอะไรไหมครับ :baa:
รูปภาพ
ξν℮ry story has an end but in life every end is a neω ßeginning.
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: มีคำถามเกี่ยวกับ php ครับ

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ลองใช้ค้นหาเเล้วเเทนที่ str_replace()

หรือ

แบ่งชุด สตริงให้เป็น array
เช่น 123.123.123.123

$pizza = "123.124.125.126";
$pieces = explode(".", $pizza);

echo $pieces[0]; // 123
echo $pieces[1]; // 124
echo $pieces[2]; // 125
echo $pieces[3]; // 126

แล้วเรามาเปลี่ยนค่า เเล้วก็เเสดงกลับออกไปเป็น สตริง
AePongsak
PHP VIP Members
PHP VIP Members
โพสต์: 4996
ลงทะเบียนเมื่อ: 17/09/2016 10:09 am

Re: มีคำถามเกี่ยวกับ php ครับ

โพสต์ที่ยังไม่ได้อ่าน โดย AePongsak »

ผลลัพธ์

รูปภาพ
รูปภาพ
ξν℮ry story has an end but in life every end is a neω ßeginning.
AePongsak
PHP VIP Members
PHP VIP Members
โพสต์: 4996
ลงทะเบียนเมื่อ: 17/09/2016 10:09 am

Re: มีคำถามเกี่ยวกับ php ครับ

โพสต์ที่ยังไม่ได้อ่าน โดย AePongsak »

thatsawan เขียน:ลองใช้ค้นหาเเล้วเเทนที่ str_replace()

หรือ

แบ่งชุด สตริงให้เป็น array
เช่น 123.123.123.123

$pizza = "123.124.125.126";
$pieces = explode(".", $pizza);

echo $pieces[0]; // 123
echo $pieces[1]; // 124
echo $pieces[2]; // 125
echo $pieces[3]; // 126

แล้วเรามาเปลี่ยนค่า เเล้วก็เเสดงกลับออกไปเป็น สตริง

รูปภาพ

โค้ด: เลือกทั้งหมด

   <?php
                                                                         
                                                                           $aeip = $fetch['ip'];
                                                                           $aeip1 = explode(".", $aeip);
                                                                           echo $aeip1[0]; // 123
                                                                           echo $aeip1[1]; // 124
                                                                           echo $aeip1[2]; // 125
                                                                           echo $aeip1[3]; // 126
                                                                           
                                                                           ?>
รูปภาพ
ξν℮ry story has an end but in life every end is a neω ßeginning.
AePongsak
PHP VIP Members
PHP VIP Members
โพสต์: 4996
ลงทะเบียนเมื่อ: 17/09/2016 10:09 am

Re: มีคำถามเกี่ยวกับ php ครับ

โพสต์ที่ยังไม่ได้อ่าน โดย AePongsak »

ไม่แบ่งจุดอ่าครับ แล้วจะทำข้อมูลเป็นสตริงได้ยังไงอะครับ
รูปภาพ
ξν℮ry story has an end but in life every end is a neω ßeginning.
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21988
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: มีคำถามเกี่ยวกับ php ครับ

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

ลองใช้ preg_replace ดูไหมครับ

โดยกำหนดให้มันค้นหาตัวเลขตำแหน่งสุดท้าย
\d คือ ข้อมูลที่เป็นตัวเลข
{1,3} คือ จำนวน 1 - 3 ตัว
และ \z คือ อยู่ในตำแหน่งสุดท้าย

ตัวอย่างโค้ด

โค้ด: เลือกทั้งหมด

echo preg_replace('/\.\d{1,3}\z/', '.***', '192.168.1.100'); 
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
AePongsak
PHP VIP Members
PHP VIP Members
โพสต์: 4996
ลงทะเบียนเมื่อ: 17/09/2016 10:09 am

Re: มีคำถามเกี่ยวกับ php ครับ

โพสต์ที่ยังไม่ได้อ่าน โดย AePongsak »

เดียวลองดูนะครับ
รูปภาพ
ξν℮ry story has an end but in life every end is a neω ßeginning.
AePongsak
PHP VIP Members
PHP VIP Members
โพสต์: 4996
ลงทะเบียนเมื่อ: 17/09/2016 10:09 am

Re: มีคำถามเกี่ยวกับ php ครับ

โพสต์ที่ยังไม่ได้อ่าน โดย AePongsak »

tsukasaz เขียน:ลองใช้ preg_replace ดูไหมครับ

โดยกำหนดให้มันค้นหาตัวเลขตำแหน่งสุดท้าย
\d คือ ข้อมูลที่เป็นตัวเลข
{1,3} คือ จำนวน 1 - 3 ตัว
และ \z คือ อยู่ในตำแหน่งสุดท้าย

ตัวอย่างโค้ด

โค้ด: เลือกทั้งหมด

echo preg_replace('/\.\d{1,3}\z/', '.***', '192.168.1.100');
ได้แล้วครับ สำหรับชุดข้อมูลที่ fetch มาจากฐานก็สามารถใช้ได้เหมือนกันแต่รูปแบบข้อมูลต้อง ข้อมูลที่เป็นตัวเลข > จำนวน 1 - 3 ตัว > และเปลี่ยนตัวเลขชุดหลังสุด

รูปภาพ

โค้ด: เลือกทั้งหมด

 <?php
               $aeip = $fetch['ip'];
               echo preg_replace('/\.\d{1,3}\z/', '.***', $aeip); 
           ?>
รูปภาพ
ξν℮ry story has an end but in life every end is a neω ßeginning.
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google [Bot] และบุคลทั่วไป 114