Một vài ví dụ về so mẫu (RegExp) 2007-07-22 22:09:19
<?php
$str = "Welcome to PHPbasic.com
{anchor}
This is a text.
This is a number 12345
{anchor}
This is special character ~!@#$%^&*()
";
?>
Cho chuỗi $str và thực hiện các thao tác sau bằng so mẫu:
1. Lọc bỏ tất cả các ký tự không phải là số:
<?php
$str = preg_replace('/\D/','',$str);
//hoặc:
$str = preg_replace('/[^0-9]/','',$str);
print $str;
?>
2. Thay đoạn text nằm giữa 2 chữ {anchor} thành chữ Example on multi line
<?php
$str = preg_replace('/\{anchor\}(.*)\{anchor\}/is','test',$str);
print $str;
?>
3. Thay thế các chuỗi có dạng http://url thành <a href="http://ur">Text</a>
<?php
$str = preg_replace('#\[url\](http|ftp|https|ftps)://(.*)\[/url\]#i','<a href="\\1://\\2">\\1://\\2</a>',$str);
?>
4. Loại bỏ tất cả khoảng trắng thừa(trên 2 khoảng trắng liên tiếp), ký tự xuống dòng
<?php
$str = preg_replace('/\s{2}+/','',$str);
print $str;
?>
Tra loi 6 comment(s) 2007-07-22 22:09:19
Doangia 2007-07-23 23:30:41
tớ có 1 đoạn thế này :
"
svdhgvdvdf 221.122.21.11:1212dvfhfj
"
Tớ muốn lấy đoạn 221.122.21.11:1212 thì làm thế nào , hehe , định ứng dụng làm 1 con spider lấy proxy từ http://www.samair.ru về xài :D . Tớ đã dùng snoopy lấy text được rồi , nhưng nó lại ra dạng như thế .
Tra loi
TG 2007-07-23 23:45:29
bạn dùng biểu thức như sau:
<?php
$str = "
svdhgvdvdf 221.122.21.11:1212dvfhfj
";
$str = preg_replace('/[^0-9\.:]/','',$str);
print $str;
?>
Tra loi
Vy Quang Hòa 2008-06-11 04:00:54
Cảm ơn rất nhiều về cái này
<?php
$str = preg_replace('#\[url\](http|ftp|https|ftps)://(.*)\[/url\]#i','<a href="\\1://\\2">\\1://\\2</a>',$str);
?>
Rất hay, đi kiếm bao lâu nay :D.
Tớ muốn thêm 1 cái nữa vào thì làm thế nào, ví dụ như 1 đường dẫn của ảnh, cho nó thành ảnh, người ta có thể xem.
Tra loi
tme_power 2008-06-11 04:20:23
Làm sao để biết được biểu thức đó
Tra loi
BCC 2008-07-27 08:19:39
Tra loi
NữThần 2008-08-03 08:47:31
Dùng phần mềm RegexBuddy.
Tải tại đây.
Tra loi
Y kien