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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: มีคำถามเกี่ยวกับ php ครับ

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); 
           ?>

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

โดย AePongsak » 14/02/2018 1:54 pm

เดียวลองดูนะครับ

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'); 

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

โดย AePongsak » 13/02/2018 6:02 pm

ไม่แบ่งจุดอ่าครับ แล้วจะทำข้อมูลเป็นสตริงได้ยังไงอะครับ

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
                                                                           
                                                                           ?>

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

โดย AePongsak » 13/02/2018 5:50 pm

ผลลัพธ์

รูปภาพ

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

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

มีคำถามเกี่ยวกับ 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:

ข้างบน