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) TG 2007-07-22 22:09:19

Doangia 2007-07-23 23:30:41

Giúp tớ cái RegExp này xem sao :
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

Có ai có công thức tính nào không, chứ nhiều trường hợp khác thì phải ứng dụng khác nhau.
Làm sao để biết được biểu thức đó

Tra loi

BCC 2008-07-27 08:19:39

đúng rồi, có bác nào có quy wowcs chung không? cái này em cũng đang quan tâm, nhưng không hiểu rõ lắm, tìm hiểu mãi nhưng chưa thông! Mong các huynh chỉ giùm. Thanks!

Tra loi

NữThần 2008-08-03 08:47:31

@tme_power:
Dùng phần mềm RegexBuddy.
Tải tại đây.

Tra loi

Y kien