Cái này 1 người bạn đã gửi cho mình thử từ năm 2006, nay mình dựng lại cho mọi người vào vui chơi tí nhé.
Tập hack tí nhé, hãy click vào link dưới đây để bắt đầu:
Chú ý: phân tích HTML, decode JS, CSS ^_^
Vì sự phát triển của PHP Việt Nam
Cái này 1 người bạn đã gửi cho mình thử từ năm 2006, nay mình dựng lại cho mọi người vào vui chơi tí nhé.
Tập hack tí nhé, hãy click vào link dưới đây để bắt đầu:
Chú ý: phân tích HTML, decode JS, CSS ^_^
Kiểm tra là 1 xâu là chỉ gồm chữ hoặc số?function isAlphabetNumber($st){
if (ereg('^[a-z|A-Z|0-9]+$', $st)){
return 1;
}else{
return 0;
}
}
Kiểm tra 1 xâu có phải là dạng URL hay không?
function isUrl($url, $maxlen = 256){
if (strlen($url) > $maxlen) {
return 0;
}
if(ereg("(h{0,1}t{0,2}p{0,1}:{0,1}/{0,1}/{0,1})(w{0,3}\.{0,1})([aA-zZ]+)?\.{1}([aA-zZ]{2,3})(.*)", $url)){
return 1;
}
return 0;
}
[Read more...]
Xoá HTML Comment
preg_replace('/<!--(.|\s)*?-->/', '', $buffer);
Xoá PHP Comment
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
<?php
function gzip($src, $level = 5, $dst = false){
if($dst == false){
$dst = $src.”.gz”;
}
if(file_exists($src)){
$filesize = filesize($src);
$src_handle = fopen($src, “r”);
if(!file_exists($dst)){
$dst_handle = gzopen($dst, “w$level”);
while(!feof($src_handle)){
$chunk = fread($src_handle, 2048);
gzwrite($dst_handle, $chunk);
}
fclose($src_handle);
gzclose($dst_handle);
return true;
} else {
error_log(“$dst already exists”);
}
} else {
error_log(“$src doesn’t exist”);
}
return false;
}
?>
Dưới đây là các hàm xử lý giải quyết bài toán SUDOKU
Sau khi thêm giao diện để người dùng nhập dữ liệu đầu vào (input) ta có một trang ví dụ: http://www.g8soft.com/~anhtt/antiquizland.php
(Thank to Anhtt nhé ^_^)
<?php
// Đặt thời gian chạy tối đa là 300s
set_time_limit(300);
define(MAX,9); // điền các số từ 1..9
define(NUM,3); // kích thước ô vuông nhỏ 9=3×3
$found = false; // đã tìm thấy kết quả hay chưa?
$R = array(); // mảng lưu trữ kết quả điền được
/**
section: MAIN PROGRAM
**/
/**
section: FUNCTIONS
**/
// Functions
function sudoku_run() {
Thực ra điều này có vẻ đơn giản bằng vệc bạn chỉ việc tạo 1 mảng các kí tự có dấu và ko dấu tương ứng rồi replace chúng. Tuy nhiên trong trường hợp tiếng Việt được viết dưới dạng HTML Iso8859:
Iso8859: Xin được làm quen với bạn
Đoạn trên thì dù để encoding ở dạng utf8 hay iso thì đều hiển thị đươc câu “Xin được làm quen với bạn“.
Hàm dưới đây mình viết sẽ sử lý được cả 2 dạng tiếng việt viết là utf8 và iso8859. Thuật toán như sau:
- Chuyển dạng utf8 về dạng iso8859 như trên
- Lập 1 mảng rồi thay thế
Chi tiết như sau:
“Bóc tem” cho category này bằng một đoạn code thú vị mà mình mới để ý thấy sau 4 năm làm việc với PHP *_*
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue
print "$i\n";
}
?>
Kết quả ra là:
2
chứ ko phải
0 1 3 4
Xem ra khá thú vị phải không nào?
^_^
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Feb | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||
Copyright © 2012 Genesis Framework · WordPress · Log in
Comments