1. TubePress
TubePress is a powerful but simple-to-use video gallery plugin that gives you a ton of controls for automatically embedding videos from either YouTube or Vimeo.After adjusting your settings to your liking, a gallery is automatically created for you and inserted wherever you insert the proper shortcode(s).You can choose to show videos from YouTube or Vimeo.You can insert videos based off a search, a user, a playlist, a user’s favorites, from the “most viewed” videos on YouTube, or you can choose to get “related” videos to the video you choose.Another nice aspect of this plugin is the amount of control it gives you over the display of the media player. You can control the look and how it acts.TubePress gives you a ton of settings and features that you can mix and match for all sorts of video galleries. Here’s a page of lots of great examples of different things it can do.Interested in 1. TubePress?2. Contus Video Gallery
The Contus Video Gallery plugin gives you a video gallery page with multiple sections. You can have “Popular Videos,” “Featured Video,” and “Resent Videos.” You can categories of videos that you name.Here’s a partial look.Each video also resides on its own page. These pages are automatically created when you insert the URL for the video on the settings page.You build your gallery by adding the URLs for the videos you’d like. Once the URL is added, you can automatically generate a title and a description from YouTube with the push of a button.The plugin also offers a number of other controls for height, width, number of rows, number of videos, etc.The biggest negative for this plugin is that you must buy the $99 pro version to have the logo removed.Interested in 2. Contus Video Gallery?3. YouTube Simple Gallery
The YouTube Simple Gallery plugin lets you set up galleries by individually choosing which videos you want to show. You can then insert your gallery into a Post or a Page by using shortcodes designated by the plugin along with the URLs of the videos you want. You can also put a gallery into a widget.The plugin allows you to include titles and descriptions if you like, but that is optional.Here’s a look.Interested in 3. YouTube Simple Gallery?4. YouTube Channel Gallery
The YouTube Channel Gallery plugin gives you a number of different designs for your galleries. (See links for demos on the plugin page.)When you click on a thumbnail at the bottom of the gallery, the video will play in the large area at the top.Here’s a quick look:This plugin runs as either a widget or a shortcode, so you can put galleries in your sidebar.You get a number of controls with this plugin. You can choose videos by user or playlist. YOu can control the size and ratio of videos. You also have control of a number of aspects on the player, such as choosing a dark or light player and showing the YouTube logo or not.Interested in 4. YouTube Channel Gallery?5. Ultimate Video Gallery
The Ultimate Video Gallery plugin gives you a nice, compact gallery with “playing now” video space on top. The thumbnails below the video automatically paginate if the number of thumbnails goes past the number allowed.This player comes with a number of features. You can not only play YouTube videos but also FLV files. You have control over player size and thumbnail sizes.You can control the title and description for each video, and you can also choose the main image (nice if you’re pulling in someone else’s video).Once a gallery is created, you simply add it to a Post or Page with a shortcode. You can create as many different galleries as you like. You can also add galleries to widgets in your sidebars.Interested in 5. Ultimate Video Gallery?6. Workbox Video
The Workbox Video plugin works by allowing you to add videos one by one. It then puts the videos into a single column gallery with descriptions off to the right.
When a video thumbnail is clicked on, the video appears in a lightbox pop up.Galleries are added to a page by selecting the page in the backend, using a shortcode, or using php code. It appears that the plugin only allows you to create one gallery, though you can add as many videos to it as you like.You can also add videos from Vimeo and Wistia.This seems like a fairly simple plugin, but if you just need a simple list of videos, it will get the job done.Interested in 6. Workbox Video?7. All Video Gallery
*This plugin appears not to have been updated in a while, but we’ll go ahead and include it here. Just be aware of that.The All Video Gallery plugin works by adding videos one by one to a gallery profile. You then call that specific gallery into a Post or a Page with a shortcode.The image below is actually a screenshot from an individual video’s page. The actual gallery pages are made up of thumbnails. A “playing now” video isn’t present on the gallery pages, only on the single video pages.The All Video Gallery supports a number of media formats, including flv, mp4, and many more. It also has HTML5 fallback.It also includes branding options and social sharing icons.Interested in 7. All Video Gallery?
Top 7 Most Stylish YouTube WordPress Gallery Plugins
Cơ bản về Regular Expression trong C# P2
5.Lớp GroupCollection:
Là lớp tượng trưng cho 1 tập hợp gồm toàn những nhóm được thu lượm và trả về một lô những nhóm được thu lượm trong một lần so khớp duy nhất. Collection này thuộc loại read-only và không có phương thức khởi tạo. Các thể hiện của lớp GroupCollection được trả về trong tập hợp mà thuộc tính Match.Groups trả về.
Ví dụ: dò tìm và in ra số những nhóm được thu lượm bởi một RE. Làm thế nào để trích từng thu lượm riêng rẽ trên mỗi thành viên của môt group collection.
Là lớp tượng trưng cho 1 tập hợp gồm toàn những nhóm được thu lượm và trả về một lô những nhóm được thu lượm trong một lần so khớp duy nhất. Collection này thuộc loại read-only và không có phương thức khởi tạo. Các thể hiện của lớp GroupCollection được trả về trong tập hợp mà thuộc tính Match.Groups trả về.
Ví dụ: dò tìm và in ra số những nhóm được thu lượm bởi một RE. Làm thế nào để trích từng thu lượm riêng rẽ trên mỗi thành viên của môt group collection.
01 | using System; |
02 | using System.Collections.Generic; |
03 | using System.Text; |
04 | using System.Text.RegularExpressions; |
05 | |
06 | namespace ConsoleApplication1 |
07 | { |
08 | class Program |
09 | { |
10 | static void Main( string [] args) |
11 | { |
12 | Regex myRegex = new Regex( "(a(b))c" ); |
13 | Match m = myRegex.Match( "abdabc" ); |
14 | Console.WriteLine( "So nhom duoc tim thay la: {0}" ,m.Groups.Count); |
15 | } |
16 | } |
17 | } |
Kết quả:
6.Lớp Cature:
Lớp này chứa những kết quả từ một thu lượm duy nhất dựa trên một expression-con (sub-expression)
7.Lớp CatureCollection:
Mỗi lần một đối tượng Regex khớp với một subexpression, một thể hiện Capture sẽ được tạo ra, và được thêm vào tập hợp CaptureCollection. Mỗi đối tượng Capture tượng trưng cho một thu lượm (capture) đơn lẻ. Mỗi nhóm sẽ có riêng cho mình một capture collection những mục khớp với subexpression được gắn liền với nhóm.
Lớp CaptureCollection tượng trưng cho một loạt những chuỗi con được thu lượm và trả về một lô những thu lượm được thực hiện chỉ qua một nhóm thu lượm duy nhất. Thuộc tính Captures, một đối tượng của lớp CaptureCollection, được cung cấp như là một thành viên của các lớp Match và Group giúp truy xuất dễ dàng lô các chuỗi con được thu lượm.
Ví dụ: nếu bạn sử dụng regular expression ((a(b)c)+ (dấu + cho biết là một hoặc nhiều chuỗi so khớp) để thu lượm những so khớp từ chuỗi chữ “abcabcabc”. CaptureCollection đối với mỗi matching Group của những substring sẽ chứa 3 thành viên.
Ví dụ sau đây mình dùng đến regular expression (Abc)+ để tìm ra một hoặc nhiều so khớp trên chuỗi “XYZAbcAbcAbcXYZAbcAb”. Ví dụ minh họa việc sử dụng thuộc tính Captures để trả về nhiều nhóm các chuỗi con bị thu lượm:
Lớp này chứa những kết quả từ một thu lượm duy nhất dựa trên một expression-con (sub-expression)
7.Lớp CatureCollection:
Mỗi lần một đối tượng Regex khớp với một subexpression, một thể hiện Capture sẽ được tạo ra, và được thêm vào tập hợp CaptureCollection. Mỗi đối tượng Capture tượng trưng cho một thu lượm (capture) đơn lẻ. Mỗi nhóm sẽ có riêng cho mình một capture collection những mục khớp với subexpression được gắn liền với nhóm.
Lớp CaptureCollection tượng trưng cho một loạt những chuỗi con được thu lượm và trả về một lô những thu lượm được thực hiện chỉ qua một nhóm thu lượm duy nhất. Thuộc tính Captures, một đối tượng của lớp CaptureCollection, được cung cấp như là một thành viên của các lớp Match và Group giúp truy xuất dễ dàng lô các chuỗi con được thu lượm.
Ví dụ: nếu bạn sử dụng regular expression ((a(b)c)+ (dấu + cho biết là một hoặc nhiều chuỗi so khớp) để thu lượm những so khớp từ chuỗi chữ “abcabcabc”. CaptureCollection đối với mỗi matching Group của những substring sẽ chứa 3 thành viên.
Ví dụ sau đây mình dùng đến regular expression (Abc)+ để tìm ra một hoặc nhiều so khớp trên chuỗi “XYZAbcAbcAbcXYZAbcAb”. Ví dụ minh họa việc sử dụng thuộc tính Captures để trả về nhiều nhóm các chuỗi con bị thu lượm:
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string chuoi = "XYZAbcAbcAbcXYZAbcAb";
string pattern = "(Abc)+";
Regex myRegex = new Regex(pattern);
Match m = myRegex.Match(chuoi);
GroupCollection gc = m.Groups;
CaptureCollection cc;
Console.WriteLine("So nhom thu luom duoc = {0}",gc.Count.ToString());
Console.WriteLine();
for(int i=0;i<gc.Count;i++)
{
cc = gc[i].Captures;
Console.WriteLine("So capture = " + cc.Count.ToString());
for(int j=0;j< cc.Count;j++)
{
Console.WriteLine(cc[j] + " bat dau tu ky tu " + cc[j].Index);
}
Console.WriteLine();
}
}
}
}
Kết quả:
Sử dụng lớp CaptureCollection:
Thuộc tính chủ chốt của đối tượng Capture là Length, cho biết chiều dài của chuỗi con bị thu lượm. Khi bạn yêu cầu Match cho biết chiều dài, thì chính Capture.Length bạn tìm thấy, vì Match được thừa kế từ Group, và Group lại được dẫn xuất từ Capture.
Điển hình, bạn sẽ chỉ tìm thấy một Capture đơn độc trong mộg CaptureCollection; nhưng điều này không buộc phải như thế. Điều gì sẽ xảy ra nếu bạn phân tích ngữ nghĩa một chuỗi trong ấy tên công ty có thể xuất hiện hoặc ở hai nơi. Muốn gộp các tên này vào chung thành một match đơn lẻ, bạn tạo nhóm ?<company> ở 2 nơi trong pattern của regular expression.
Thuộc tính chủ chốt của đối tượng Capture là Length, cho biết chiều dài của chuỗi con bị thu lượm. Khi bạn yêu cầu Match cho biết chiều dài, thì chính Capture.Length bạn tìm thấy, vì Match được thừa kế từ Group, và Group lại được dẫn xuất từ Capture.
Điển hình, bạn sẽ chỉ tìm thấy một Capture đơn độc trong mộg CaptureCollection; nhưng điều này không buộc phải như thế. Điều gì sẽ xảy ra nếu bạn phân tích ngữ nghĩa một chuỗi trong ấy tên công ty có thể xuất hiện hoặc ở hai nơi. Muốn gộp các tên này vào chung thành một match đơn lẻ, bạn tạo nhóm ?<company> ở 2 nơi trong pattern của regular expression.
Đoạn mã sau cho rảo qua tập hợp Capture đối với nhóm company:
1 | foreach (Capture cap in match.Groups[ "company" ].Captures) |
Compiler bắt đầu bằng cách tìm ra tập hợp mà ta rảo qua trên ấy. match là một đối tượng có một tập hợp mang tên Groups. Tập hợp Groups có bộ chỉ mục (indexer) cho phép trích một chuỗi và trả về một đối tượng Group đơn lẻ. Do đó, lệnh sau đây trả về một đối tượng Group đơn lẻ:
Đến phiên, vòng lặp foreach rảo qua tập hợp Captures, trích mỗi phần tử trong tập hợp và gán cho biến toàn cục cap, thuộc kiểu dữ liệu Capture. Bạn có thể là trên kết xuất có 2 phần tử capture: NEVERLAND và TNHH. Phần tử thứ hai đè chồng lên phần tử đầu trên nhóm, do đó chỉ in ra TNHH, nhưng khi quan sát tập hợp Captures thì bạn thấy có 2 trị bị thu lượm.
Kết quả của ví dụ trên:
Kết quả của ví dụ trên:
1 | Match: 05:04:27 NEVERLAND 192.168.10.1 TNHH |
2 | Time: 05:04:27 |
3 | IP: 192.168.10.1 |
4 | Company: TNHH |
5 | |
6 | cap: NEVERLAND |
7 | cap: TNHH |