Thực ra nếu bạn chịu khó dành khoảng 2h ra để tìm hiểu về regex thì bạn sẽ thấy nó cực kì đơn giản nếu bạn đã có mô tả chính xác về chuỗi mẫu. Thấy khó xong copy trên mạng về thử rất dễ sai và không đúng những gì mình muốn.
Mình sẽ giải thích về regex mình viết.
Có 2 trường hợp tách nhau bởi dấu OR được biểu diễn qua dấu |
\d biểu thị 1 số tự nhiên từ 0-9
[1-9] biểu thị 1 số tự nhiên từ 1-9
dấu ? biểu thị ý nghĩa cụm đằng trước nó có thể xuất hiện 0 hoặc 1 lần
+ là kí tự đằng trước nó xuất hiện từ 1 lần trở lên
* là kí tự đằng trước nó có thể 0 hoặc nhiều lần
dấu . biểu thị dấu chấm, phân cách giữa phần nguyên và phần thực
Diễn giải bằng lời biểu thức của mình:
Số 0 ở đâu sau đó đến dấu chấm sau đó là đến các số từ 0-9 xuất hiện từ 1 đến nhiều lần OR một số bắt đầu bằng 1 số tự nhiên từ 1-9, sau đó có thể có các số từ 0-9 khác hoặc không, kết thúc bằng phần thực sau dấu chấm hoặc không có phần này cũng được
Còn tùy vào yêu cầu của bạn mà bạn có thể sửa lại. Chứ mình viết không False =)), chúng ta không hiểu ý nhau thôi.
Làm thế nào để mình cập nhật thông tin cho cột Altermates, Images, Videos được vậy nhỉ? Mình xem trên github của Dynamic sitemap ko thấy chỗ nào hướng dẫn cập nhật 3 cột này. Mong nhận được hồi âm, mình cảm ơn !
@ductuandt3 À mình định nghĩa 1 số mà bạn cần là 1 số thực dương, mà số thực dương thì không bao giờ có số 0 ở đầu trừ trường hợp số đó lớn 0 nhỏ hơn 1. Tức là những trường hợp đúng sẽ là 0.012, 0.23232, 1.2123, 231.23 và trường hợp sai sẽ là 032.12312, 023.
Nếu bạn muốn có cả trường hợp nhiều số 0 vẫn đúng nữa thì thêm 0+ là được mà.
tóm lại có 2 loại kiểu dữ liệu : primitive và reference, primitive dùng toán tử (==, !=), còn reference dùng method equals. và do equal dùng hashCode, để tránh rắc rối thì kiểu reference nên implement lại hashCode
riêng string thì mình dùng StringUtils trong common lang
Cảm ơn bạn đã góp ý, nhưng theo mình không thể thay toàn bộ từ "cạo" trong bài viết thành "tạo" được vì "crawl data" nghĩa là thu thập, nạo hoặc cào, cạo dữ liệu, đó là dữ liệu đã có trên web và mình cần tìm cách lấy nó về chứ không phải là nó chưa sinh ra mà có thể dùng từ "tạo" như bạn góp ý được
Quả là kiến thức của em còn quá nhỏ bé, em luôn luôn dùng register để binding. Cảm ơn anh vì đã bỏ thời gian ra trả lời những thắc mắc vặt vãnh của em ạ (bow)
THẢO LUẬN
mình thấy có ví dụ về img ở đây, không biết phải cái bạn cần không: https://gitlab.com/Laravelium/Sitemap/wikis/Dynamic-sitemap#example-how-to-create-dynamic-sitemap-with-image-tags
@QuangPH cảm ơn bạn nhiều. Mình cũng đã tìm hiểu và viết được biểu thức đúng rồi.
cảm ơn bạn nhiều. Mình cũng có được biểu thức đúng rồi. /^([+-]?[1-9]\d*|0)(.\d*)?$/
E có làm camera cho xe buýt. Mà bên trung tâm cần thông số API của camera từng xe. Mà nói thật e ko hỉu về cái này lắm mấy anh giúp e với
cảm ơn tác giả, có phần 2 chưa ạ
Thực ra nếu bạn chịu khó dành khoảng 2h ra để tìm hiểu về regex thì bạn sẽ thấy nó cực kì đơn giản nếu bạn đã có mô tả chính xác về chuỗi mẫu. Thấy khó xong copy trên mạng về thử rất dễ sai và không đúng những gì mình muốn.
Mình sẽ giải thích về regex mình viết.
Có 2 trường hợp tách nhau bởi dấu OR được biểu diễn qua dấu |
Diễn giải bằng lời biểu thức của mình:
Số 0 ở đâu sau đó đến dấu chấm sau đó là đến các số từ 0-9 xuất hiện từ 1 đến nhiều lần OR một số bắt đầu bằng 1 số tự nhiên từ 1-9, sau đó có thể có các số từ 0-9 khác hoặc không, kết thúc bằng phần thực sau dấu chấm hoặc không có phần này cũng được
Còn tùy vào yêu cầu của bạn mà bạn có thể sửa lại. Chứ mình viết không False =)), chúng ta không hiểu ý nhau thôi.
Làm thế nào để mình cập nhật thông tin cho cột Altermates, Images, Videos được vậy nhỉ? Mình xem trên github của Dynamic sitemap ko thấy chỗ nào hướng dẫn cập nhật 3 cột này. Mong nhận được hồi âm, mình cảm ơn !
@ductuandt3 À mình định nghĩa 1 số mà bạn cần là 1 số thực dương, mà số thực dương thì không bao giờ có số 0 ở đầu trừ trường hợp số đó lớn 0 nhỏ hơn 1. Tức là những trường hợp đúng sẽ là 0.012, 0.23232, 1.2123, 231.23 và trường hợp sai sẽ là 032.12312, 023.
Nếu bạn muốn có cả trường hợp nhiều số 0 vẫn đúng nữa thì thêm 0+ là được mà.
tóm lại có 2 loại kiểu dữ liệu : primitive và reference, primitive dùng toán tử (==, !=), còn reference dùng method equals. và do equal dùng hashCode, để tránh rắc rối thì kiểu reference nên implement lại hashCode
riêng string thì mình dùng StringUtils trong common lang
Mình xài bộ đôi Ampps + cakephp hơn năm rồi trên macos khá là ổn định!
nếu bạn muốn 0. vẫn đúng thì thử cái này numberRegex = /^([+-]?[1-9]\d*|0)(.\d*)?$/
Cảm ơn bạn đã góp ý, nhưng theo mình không thể thay toàn bộ từ "cạo" trong bài viết thành "tạo" được vì "crawl data" nghĩa là thu thập, nạo hoặc cào, cạo dữ liệu, đó là dữ liệu đã có trên web và mình cần tìm cách lấy nó về chứ không phải là nó chưa sinh ra mà có thể dùng từ "tạo" như bạn góp ý được
Mình muốn replace toàn bộ từ "cạo" trong bài viết của bạn thành "tạo" quá! Nhìn sai chính tả trong bài viết buồn quá!
@huusu1996 Mình 96 nhé =)). Nhưng mà hot fix kiểu xóa nút này không được hay cho lắm nhỉ =))
@tuanbacyen Em k phải team Viblo ạ =))
1 article có nhiều tag, bạn dùng $article->tags[0]->name là ra tag thứ 1
Cũng sr team nhé. Tại mình tìm mãi ko thấy cái feedback




Quả là kiến thức của em còn quá nhỏ bé, em luôn luôn dùng register để binding. Cảm ơn anh vì đã bỏ thời gian ra trả lời những thắc mắc vặt vãnh của em ạ (bow)
Còn nhiều cách để binding mà em
như dùng biến
$bindings, biến$singletons.Hoặc là em chỉ cần chạy hàm
bootmà không cầnregisterEm tham khảo mấy cách viết Service Provider này https://laravel.com/docs/5.7/providers#writing-service-providers , nhiều cái không cần đến hàm
registermà