urlspliter 0.2.2
urlspliter: ^0.2.2 copied to clipboard
A URL text splitter library that separates URLs from plain text.
example/urlspliter_example.dart
import 'package:urlspliter/urlspliter.dart';
void main() {
// Example 1: Basic usage with plain text
print('=== Example 1: Plain text ===');
final spliter1 = UrlSpliter('This is a simple text without any URLs');
final result1 = spliter1.process();
for (final span in result1) {
print('${span.contentType == TextSpanData.txt ? "TEXT" : "URL"}: ${span.content}');
}
// Example 2: Text with HTTP URL
print('\n=== Example 2: Text with HTTP URL ===');
final spliter2 = UrlSpliter('Check out this website: http://example.com');
final result2 = spliter2.process();
for (final span in result2) {
print('${span.contentType == TextSpanData.txt ? "TEXT" : "URL"}: ${span.content}');
}
// Example 3: Text with HTTPS URL
print('\n=== Example 3: Text with HTTPS URL ===');
final spliter3 = UrlSpliter('Secure site: https://secure.example.com/path?param=value');
final result3 = spliter3.process();
for (final span in result3) {
print('${span.contentType == TextSpanData.txt ? "TEXT" : "URL"}: ${span.content}');
}
// Example 4: Multiple URLs
print('\n=== Example 4: Multiple URLs ===');
final spliter4 = UrlSpliter('First link: http://example1.com and second: https://example2.com');
final result4 = spliter4.process();
for (final span in result4) {
print('${span.contentType == TextSpanData.txt ? "TEXT" : "URL"}: ${span.content}');
}
// Example 5: URLs at boundaries
print('\n=== Example 5: URLs at boundaries ===');
final spliter5 = UrlSpliter('http://start.com some text https://end.com');
final result5 = spliter5.process();
for (final span in result5) {
print('${span.contentType == TextSpanData.txt ? "TEXT" : "URL"}: ${span.content}');
}
// Example 6: Complex URL with special characters
print('\n=== Example 6: Complex URL ===');
final spliter6 = UrlSpliter('API endpoint: https://api.example.com/v1/users?page=1&limit=10#section');
final result6 = spliter6.process();
for (final span in result6) {
print('${span.contentType == TextSpanData.txt ? "TEXT" : "URL"}: ${span.content}');
}
// Example 7: Text that starts with 'h' but is not a URL
print('\n=== Example 7: Text starting with h but not URL ===');
final spliter7 = UrlSpliter('hello world and http://example.com');
final result7 = spliter7.process();
for (final span in result7) {
print('${span.contentType == TextSpanData.txt ? "TEXT" : "URL"}: ${span.content}');
}
}