Hiển thị các bài đăng có nhãn php. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn php. Hiển thị tất cả bài đăng

Chủ Nhật, 25 tháng 12, 2011

Các hàm xử lý chuỗi trong php

1 addcslashes :Trích dẫn xâu kí tự với những vạch chéo trong kiểu C


*Cấu trúc :addcslashes(string with special characters);



2 addslashes :Trích dẫn xâu kí tự với những vạch chéo

*Cấu trúc : addcslashes(a string with special characters);



3 bin2hex :Chuyển đổi dữ liệu dạng nhị phân sang dạng biểu diễn hệ hexa

*Cấu trúc :bin2hex(string);



4 chop :Tách bỏ nhưng khoảng trắng từ cuối một xâu



5 chr : Cho một kí tự đặc biệt trong bảng mã

*Cấu trúc : chr(numeric);



6 chuck split : Tách một xâu thành các xâu nhỏ hơn



7 convert cyr string :Chuyển đổi từ một kí tự kirin sang một kí tự khác



8 count_chart : Cho thông tin về các kí tự dùng trong xâu



9 crc32 : Tính toán sự thừa vòng đa thức của một xâu

Tự động tạo ra chu ki kiểm tra tổng thừa của đa thức dài 32bit trong một xâu



10 crypt :Một cách mã hóa một xâu



11 echo : In ra một hay nhiều xâu



12 explode :Tách một xâu ra bởi xâu kí tự



13 fprintf :Viết một định dạng chuỗi ra một dòng



14 get html translation table :Cho ra bảng dịch bằng cách sử dung các thủ tục



html entity decode :



15 hebrev :Chuyển đổi văn ban logic khó hiểu sang văn ban trưc quan



16 hebrevc :Chuyển đổi văn ban logic khó hiểu sang văn ban trưc quan với sự chuyển đổi dòng mới



17 html entity decode :Chuyển đổi tấtcả cácthực thể HTML sang những kí tự có thể dùng được của chúng



18 htmlentities :Đổi tất cả các kí tự được sử dung sang các thực thể HTML



19 htmlspecialchars :Đổi những kí tự đặc biệt sang các thực thể của HTML



20 implode :Nối các phần tử của mảng với một xâu



21 join :Hàm này là một bí danh của hàm implode



22 levenshtein :Tính khoảng cách giữa hai xâu



23 localeconv :Lấy ra thông tin quy cách số



24,lstrim-- Strip whitespace from the beginning of a string

=>Xoá khoảng trắng từ phần tử đầu tiên của chuỗi



25,md5_file-- Calculates the md5 hash of a given filename

=>Mã hoá md5 tên file



26,md5 -- Calculate the md5 hash of a string

=>Mã hoá md5 1 chuỗi



27,metaphone -- Calculate the metaphone key of a string

=>Tính siêu khoá âm thanh của 1 chuỗi



28,money_format -- Formats a number as a currency string

=> Định dạng 1 số như 1 chuỗi tiền tệ



29,nl_langinfo -- Query language and locale information

=>Ngôn ngữ truy vấn và biên tập thông tin



30,nl2br -- Inserts HTML line breaks before all newlines in a string

=>Chèn 1 dòng ngắt HTML trước tất cả những dòng mới trong 1 chuỗi

31,number_format -- Format a number with grouped thousands

=>Định dạng 1 số với hàng nghìn chữ số



32,ord -- Return ASCII value of character

=>Trả lại giá trị ASCII của kí tự



33,parse_str -- Parses the string into variables

=>Phân tách chuỗi thành các biến số



34,print -- Output a string

=>In ra 1 chuỗi



35,printf -- Output a formatted string

=>In ra 1 chuỗi được định dạng



36,quoted_printable_decode -- Convert a quoted-printable string to an

8 bit string

=>Chuyển 1 chuỗi có thể in trích dẫn sang 1 chuỗi 8 bit.(Giải mã)



37,quotemeta -- Quote meta characters

=>Trích dẫn kí tự đặc biệt



38,rtrim -- Strip whitespace from the end of a string

=>Xoá khoảng trắng từ phần tử cuối cùng của chuỗi



39,setlocale -- Set locale information

=>Thiết lập vị trí thông tin



40,sha1_file -- Calculate the sha1 hash of a file

=>Mã hoá sha1 1 file



41,sha1 -- Calculate the sha1 hash of a string

=>Mã hoá sha1 1 chuỗi



42,similar_text -- Calculate the similarity between two strings

=>Cho số kí tự giống nhau của 2 chuỗi



43,soundex -- Calculate the soundex key of a string

=>Tính khoá chỉ âm của 1 chuỗi



44,sprintf -- Return a formatted string

=>Trả lại 1 chuỗi được định dạng



45,sscanf -- Parses input from a string according to a format

=>Phân tách chuỗi theo 1 định dạng



46,str_ireplace -- Case-insensitive version of str_replace().

=>Tương tự str_ replace().



sscanf-- Parses input from a string according to a format

->Phân tích từ loại nhập vao từ một xâu theo một định dạng



str_ireplace-- Case-insensitive version of str_replace().

->Thay thế ngược lại khi xâu đã bị thay thế bằng str_replace()



str_pad-- Pad a string to a certain length with another string

->Co một xâu tới một độ dài nào đó với một xâu khác



str_repeat--Repeat a string

->Lặp lại một xâu



str_replace-- Replace all occurrences of the search string with the replacement string

->Thay thế tất cả các biến cố của xâu tìm kiếm với một xâu thay thế



str_rot13--Perform the rot13 transform on a string

->Thực hiện mã hoá theo rot 13 trên 1 xâu



(Rot-13 :Trong các nhóm tin của mạng USENET, đây là một kỹ thuật mật mã hoá đơn giản, nó làm dịch từng ký tự đi 13 vị trí trong bảng chữ cái (cho nên e sẽ thành r). Mật mã rot- 13 được dùng cho mọi thông báo tin bất kỳ nào có thể làm mất sự thú vị của một người nào đó (như) cách giải cho một trò chơi chẳng hạn hoặc xúc phạm một số người đọc (như) bài thơ về tình dục chẳng hạn. Nếu người đọc cho giải mã thông báo tin này bằng cách phát ra một lệnh thích hợp, thì người đọc đó - chứ không phải tác giả của thông báo - sẽ phải chịu trách nhiệm đối với sự khó chịu do việc đọc thông báo gây ra.)



str_shuffle--Randomly shuffles a string

->Thay đổi một xâu bằng cách xê dịch ngẫu nhiên



str_split-- Convert a string to an array

->Đổi một xâu thành một mảng



str_word_count-- Return information about words used in a string

->Trả lại thông tin về những từ đã sử dụng trong một xâu



strcasecmp-- Binary safe case-insensitive string comparison

->So sánh xâu theo …case-insensitive.. nhị phân



strchr--Alias of strstr()

->Bí danh của strstr()



strcmp--Binary safe string comparison

->Sự so sánh xâu bằng cơ sở nhị phân



strcoll--Locale based string comparison

->Nơi diễn ra sự so sánh cơ sở



strcspn-- Find length of initial segment not matching mask

->Tìm độ dài của đoạn đầu tiên mà không tìm thấy trên bề mặt của xâu này đối với xâu kia.



strip_tags--Strip HTML and PHP tags from a string

->Loại bỏ các thẻ HTML và PHP từ một xâu



stripcslashes-- Un-quote string quoted with addcslashes()

->Loại bỏ các dấu slashe trong xâu do hàm addcslashes() tạo ra.



stripos-- Find position of first occurrence of a case-insensitive string

->Tìm ra vị trí đầu tiên của xâu này trong xâu kia của trường hợp sử lý cặp xâu.



stripslashes-- Un-quote string quoted with addslashes()

->Loại bỏ hàm addslashes(), hay nói cách khác, hàm này trả về giá trị ban đầu của xâu khi xâu bị hàm addslashes() chèn các dấu slashe ở các ký tự đặc biệt



stristr-- Case-insensitive strstr()

->Loại bỏ hàm strstr() khi trong xâu có dấu chấm.



strlen--Get string length

->Lấy độ dài của xâu



strnatcasecmp-- Case insensitive string comparisons using a "natural order" algorithm

->So sánh xâu theo thứ tự abc, các ký tự được xét từ đầu đến cuối xâu

(VD: a2>a12>a11).



strnatcmp-- String comparisons using a "natural order" algorithm

->So sánh xâu sử dụng thứ tự abc và thứ tự toán học, nhưng được tính trên toàn bộ xâu ( VD: a12 > a11>a2).



strncasecmp-- Binary safe case-insensitive string comparison of the first n characters

->Là một hàm giống như strcasecmp(), khác ở chỗ hàm này có thể chỉ rõ số ký tự trong mỗi xâu đem so sánh.





strncmp:trả ra giá trị mà xâu1 dài hơn so với sâu hai.



strpos:Tìm vì trí xuất hiện đầu tiên của một xâu này trong xâu khác.



strrchr:Tìm kiếm vị trí xuất hiện cuối cùng của một kí tự trong xâu.



strrev:Đảo ngược một xâu.



strripos:Tìm vị trí cuối cùng của xâu này khiến nó khác một xâu cho trước.



strrpos:Tìm vị trí lần xuất hiện cuối cùng cùng của một kí tự trong một xâu.



strspn:Tính xem độ dài đoạn đầu của một xâu mà chứa toàn các kí tự thuộc xâu khác.



strstr:Lấy ra một đoạn của xâu từ vị trí xuất hiện kí tự cho trước.



strtok:chia cắt xâu.



strtolower:biến kí tự chữ hoa thành chữ thường.



strtoupper:biến kí tự chữ thường thành chữ hoa.



strtr:chuyển đổi kí tự theo một qui tắc nào đó.



substr_compare:không có thông tin.



substr_count:Tính số lần xuất hiện của một xâu này trong một xâu khác.



substr_replace:thay thế một đoạn văn bản trong phạm vi một đoạn của xâu kí tự.



substr:trả ra một phần của xâu.



trim:Loại bỏ kí tự thừa(whitespace)ở đầu và cuối mỗi xâu.



ucfirst:viết hoa kí tự đầu tiên của một xâu.



ucwords:viết hoa kí tự đầu tiên của mỗi từ.



vprints:xuất ra một xâu được định dạng



vsprint:quai lại một xâu định dạng.



wordswarp:chia xâu kí tự ra thành các sâu con nhờ một kí tự xác định.

Nguồn: phpvn.org

Thứ Tư, 19 tháng 5, 2010

Tổng quan về mảng và các hàm hỗ trợ trong PHP

Tổng quan về mảng và các hàm hỗ trợ trong PHP

Cũng như bao ngôn ngữ lập trình khác. PHP cũng tồn tại một loại dữ liệu được gọi là mảng. Cụ thể hơn Mảng là 1 biến danh sách. Nghĩa là, một biến vốn chứa nhiều phần tử được tạo bởi các số hoặc chuỗi. Nó cho phép chúng ta lưu trữ, sắp xếp thứ tự và truy cập nhiều giá trị với một tên. Và cần lưu ý rằng một phần tử mảng luôn bắt đầu với giá trị là 0.



1- Định nghĩa mảng trong PHP:

Với cú pháp giống với java ta có cách gọi 1 mảng như sau:
$tên_biến= array("Kenny","Maria","Julia","Kenvin")
Như vậy khi gọi giá trị trong mảng ta có:
Echo $tên_biến[2]; // Giá trị sẽ cho là Julia.
Ngoài cách khai báo ở trên chúng ta cũng có thể khai báo bằng cách khác như sau:
$tên_biến[] = "Kenny";
$tên_biến[] = "Gillian";
$tên_biến[] = "Charlene";
$tên_biến[] = "Calvin"
Chúng ta không cần thêm ký tự vào. Vì PHP đã tự xử lý cho chúng ta phần đó.
Để thêm 1 phần tử vào mảng chúng ta cũng có thể sử dụng như sau:
$tên_biến[] = "Jiro";
Như vậy nếu chúng ta gọi giá trị: echo $tên_biến[4] thì giá trị sẽ là jiro. Vì nó được PHP thêm vào sau cùng và ngầm hiểu là giá trị tiếp theo.
Ví dụ:


$a=array("Kenny","Maria","Julia","Kenvin");
echo $a[2]; //Xuất ra giá trị Julia
?>

2- Khái niệm mảng kết hợp trong PHP

Là các mảng được tạo index bằng các chuỗi , chúng được gợi là các mảng kết hợp.
Ví dụ:


$a= array (name => "Kenny", job => "Teacher", age=>"45", email => "webmaster@vietchuyen.com.vn")
?>
Như vậy để truy cập giá trị của mảng trên chúng ta không thể sử dụng cách cũ được.
Ví dụ: Để lấy giá trị của tuổi tôi không thể sử dụng cách trên : echo $a[2].
Vì chúng ta đã gán giá trị của index cho 1 tên gọi khác. Do vậy để lấy giá trị của tuổi ta sử dụng như sau: echo $a[age] // Kết quả sẽ cho ra 45.



$tên_biến= array (name => "Kenny", job => "Teacher", age=>"45", email => "webmaster@vietchuyen.com.vn")
echo $a[age];
?>

3- Phép lặp trong mảng:

Cú pháp: foreach($array as $temp)
{ Hành Động }
Trong đó $array là mảng mà ta muốn thực thi việc lặp dữ liệu, và $temp là một biến trong đó ta sẽ tạm thời lưu trữ mỗi phần tử.
Ví dụ:



$name= array("Kenny", "Jiro", "Calvin", "Gillian");
foreach ($name as $test)
{ echo "$test
"; }

?>

b) Lặp lại qua một mảng kết hợp:
Cú pháp: Foreach($array as $key=>$value)
{ Hành Động }
Trong đó $array là mảng mà ta muốn thực thi việc lặp dữ liệu, $key là một biến vốn tạm thời chứa mỗi khóa, và $value là một biến vốn tạm thời chữa mỗi giá trị.
Ví dụ:

$person= array(name=>"Kenny", job=>"Teacher", email=>"whiletionvn@gmail.com", age=>"38");
foreach($person as $key=>$test)
{
echo "Key: $key. Gia Tri: $test
";

}
?>

4- Các hàm hỗ trợ trong PHP:

+ Hàm gộp mảng:
Cú pháp: array_merge($mang1, $mang2);

+ Hàm tách mảng:
Cú pháp: array_slice($mang, vị trí tách, số lượng tách);

+ Hàm sắp xếp mảng:
Cú pháp: sort($mảng);

+ Hàm sắp xếp mảng theo chỉ mục:
Cú pháp: ksort($mảng);

+ Hàm tìm phần tử có tồn tại trong mảng hay không ?.
Cú pháp: in_array(giá trị tìm, $mảng);

5 - Tổng kết: Qua bài học này, chúng ta tìm hiểu kỹ về các thành phần của mảng một chiều, nhiều chiều và các hàm cơ bản vể xử lý dữ liệu. Hiểu rõ cấu trúc mảng, sự sắp xếp đồng bộ sẽ giúp ích cho các bạn rất nhiều trong những ứng dụng lớn.

Bài tập áp dụng :
1- Xây dựng website có tính năng upload cho phép upload cùng lúc 10 file dữ liệu.
2- Xây dựng website có tính năng upload, và chỉ cho phép upload file có định dạng hình ảnh như gif, jpg. Ngoài ra các tính năng khác đều có thông báo lỗi không cho upload.

Nguồn (Bùi Quốc Huy) qhonline.info

Tạo captcha (mã kiểm tra)

Trước tiên, chúng ta tiến hành tạo form HTML đơn giản để thực thi thao tác nhập liệu như sau:










Chúng ta chú ý phần hình ảnh, tại đây tôi truyền đường dẫn chính là liên kết tới trang random_image.php. Trang này sẽ thực thi công việc tạo ra những bức hình có dãy số ngẫu nhiên để phần nhập liệu của người sử dụng tham chiếu tới.

Tiếp theo, chúng ta khởi tạo file random_image.php để lấy ra dãy số ngẫu nhiên và phát sinh chúng ngay trên tấm hình cho người truy cập nhập liệu.

Để làm được điều đó. Chúng ta sẽ khởi tạo session và lưu dãy số nhập liệu đó vào session của mình, sau đó so khớp với trang form bên kia.(xem lại bài 7: Khái niệm cơ bản về cookie và session trong PHP)
Bài 15: Viết ứng dụng tạo mã xác nhận bằng PHP
Đầu tiên chúng ta sử dụng hàm md5 và ran để mã hóa các ký tự bao gồm số và chữ cái. Khi sử dụng hàm md5() ký tự phát sinh sẽ lên tới 32 ký tự. Và chúng ta chỉ lấy duy nhất 5 ký tự từ chuỗi mã hóa đó bằng hàm substr. Tiếp tục ta lưu đoạn mã hóa này trong session cụ thể $_SESSION['security_code'], để tại trang form ta sẽ sử dụng so sánh với phần nhập liệu của người sử dụng.

Vậy nên đoạn code dưới sẽ giải quyết các tình huống này.


$md5_hash = md5(rand(0,999));
$security_code = substr($md5_hash, 15, 5);
$_SESSION["security_code"] = $security_code;

Kế đến ta khởi tạo tấm hình với chiều rộng và chiều cao mà ta thiết lập thông qua hàm ImageCreate() . Và tiếp tục khai báo 2 màu chính là trắng và đen bằng hàm ImageColorAllocate($image, red, green, blue ). Hàm này sẽ tạo ra một màu sắc từ hệ màu RGB trên tấm hình mà chúng ta vừa khởi tạo.

Tiếp tục ta đổ background của tấm hình sẽ là màu đen và chữ xuất hiện trên tấm hình sẽ là màu trắng bằng hàm ImageFill() và hàm ImageString(). Hàm ImageString có một số đối số cơ bản như sau: ImageString($image, 5, 30, 6, $security_code, $white); Trong đó:

+ $image là hình mà chúng ta khởi tạo.

+ 5: là font-size mà chúng ta quy ước cho ký tự xuất hiện trên hình.

+ 30: là khoảng cách bên trái của tấm hình.

+ 6 : là khoảng cách từ trên của tấm hình.

+ $security_code: là đoạn code sau khi chúng ta cắt ra ở trên.

+ $white: là màu sắc mà chúng ta đã sử dụng hàm ImageColorAllocate() ở trên để khởi tạo ra màu trắng.


$width = 100;
$height = 30;
$image = ImageCreate($width, $height);
$white = ImageColorAllocate($image, 255, 255, 255);
$black = ImageColorAllocate($image, 0, 0, 0);
ImageFill($image, 0, 0, $black);
ImageString($image, 5, 30, 6, $security_code, $white);

Kế tới chúng ta sẽ sử dụng lệnh header để trả nội dung này trở về dữ liệu dạng hình. Và tiến hành khởi tạo định dạng cho file hình mà chúng ta vừa tạo là JPG đồng thời giải phóng hình tạm được sử dụng để khợi tạo ra tấm hình này bằng đoạn code sau:


header("Content-Type: image/jpeg");
ImageJpeg($image);
ImageDestroy($image);
Để dễ quản lý chúng ta sẽ đặt tất cả đoạn code trên vào trong 1 hàm để dễ sử dụng và quản lý chúng tốt hơn. Vậy toàn bộ đoạn code trong trang random_image.php này như sau.



session_start();
function create_image()
{
$md5_hash = md5(rand(0,999));
$security_code = substr($md5_hash, 15, 5);
$_SESSION["security_code"] = $security_code;
$width = 100;
$height = 30;
$image = ImageCreate($width, $height);
$white = ImageColorAllocate($image, 255, 255, 255);
$black = ImageColorAllocate($image, 0, 0, 0);
ImageFill($image, 0, 0, $black);
ImageString($image, 5, 30, 6, $security_code, $white);
header("Content-Type: image/jpeg");
ImageJpeg($image);
ImageDestroy($image);
}
create_image() ;
exit();
?>

Tiếp tục, trong trang form chúng ta phải khởi tạo session để chúng nhận được các giá trị mà ta đã khởi tạo và sử dụng ở trang random_image, kế tới ta kiểm tra xem người dùng có nhấn submit chưa. Nếu có ta sẽ tiếp tục kiểm tra xem người dùng nhập vào textbox có đúng là dãy số hiển thị trên hình ảnh hay không. Và xuất ra thông báo tương ứng với nội dung của người nhập liệu. (xem lại bài 4: Xử lý giá trị form trong PHP)

Sau đây là toàn bộ code của trang form.php.



session_start();
if(isset($_POST['ok']))
{
if($_POST['txtCaptcha'] == NULL)
{
echo "Please enter your code";
}
else
{
if($_POST['txtCaptcha'] == $_SESSION['security_code'])
{
echo "ma lenh hop le";
}
else
{
echo "Ma lenh khong hop le";
}
}
}
?>








Download toàn bộ source code này tại đây
Nguồn từ: http://www.qhonline.info/