มีคำถามเกี่ยวกับ 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 » 13/02/2018 5:46 pm

สมมุติว่าผมมีข้อมูลเป็น 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
โพสต์: 12756
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

โพสต์โดย thatsawan » 13/02/2018 5:50 pm

ลองใช้ค้นหาเเล้วเเทนที่ 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 » 13/02/2018 5:50 pm

ผลลัพธ์

รูปภาพ
รูปภาพ
ξν℮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 » 13/02/2018 6:01 pm

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 » 13/02/2018 6:02 pm

ไม่แบ่งจุดอ่าครับ แล้วจะทำข้อมูลเป็นสตริงได้ยังไงอะครับ
รูปภาพ
ξν℮ry story has an end but in life every end is a neω ßeginning.

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 8427
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์โดย tsukasaz » 14/02/2018 1:34 pm

ลองใช้ 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 » 14/02/2018 1:54 pm

เดียวลองดูนะครับ
รูปภาพ
ξν℮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 » 14/02/2018 2:55 pm

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.


ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 14 และ บุคคลทั่วไป 0 ท่าน