A-AA+then

แปลงจาก eregi เป็น preg_match

1,897
foreach ($_GET as $check_url) {
 if ((eregi("<[^>]*script*\"?[^>]*>", $check_url)) || (eregi("<[^>]*object*\"?[^>]*>", $check_url)) ||
  (eregi("<[^>]*iframe*\"?[^>]*>", $check_url)) || (eregi("<[^>]*applet*\"?[^>]*>", $check_url)) ||
  (eregi("<[^>]*meta*\"?[^>]*>", $check_url)) || (eregi("<[^>]*style*\"?[^>]*>", $check_url)) ||
  (eregi("<[^>]*form*\"?[^>]*>", $check_url)) || (eregi("\([^>]*\"?[^)]*\)", $check_url)) ||
  (eregi("\"", $check_url))) {
 die ();
 }
}
ใครพอแปลง regular expression จาก eregi เป็น preg_match ได้บ้างครับ

3 ความคิดเห็น

555+++

แปลงทำไม่รึ

ฟังก์ชั่นกลุ่ม preg ใช้ยากกว่าฟังก์ชั่นในกลุ่ม ereg เยอะ และบางครั้งผลลัพท์ที่ได้ก็ไม่ค่อยเหมือนกันด้วย ถ้ามันใช้งานได้ดีอยู่แล้ว ไม่แนะนำให้แปลงนะ
1

ใน php 5.3,6 ฟังก์ชั่นในกลุ่ม ereg จะถูกยกเลิกไปครับ ผมก็เลยจะเปลี่ยนให้มันรองรับไปเลย คือตอนนี้ผมลองใส่ / / คร่อมหัวท้ายบางตัวมันก็ work บางตัวก็ไม่ work ก็กำลังอ่านเรื่องนี้อยู่ด้วยปกติไม่ค่อยได้ใช้ regular expression เลย แต่เห็นว่ามันมีประโยชน์ก็ไปลอกเขามาใช้ครับ...

2

555+++

ผมยังไม่รู้เลย...

แต่โดยส่วนตัวใช้ฟังก์ชั่นในกลุ่ม preg มากกว่า ก็คงรอดตัวไปครับ

เป็นเรื่องปกติครับที่บางคำสั่งมันจะไม่ทำงาน เพราะฟังก์ชั่นใน 2 กลุ่มนี้จะมีการทำงานต่างกันครับ คงต้องค่อยๆแยกทำไปทีละอันละครับ
3
^