loka1/social-links
Composer 安装命令:
composer require loka1/social-links
包简介
Social links validator and sanitizer
README 文档
README
PHP library for validating, sanitizing, and detecting social media profile URLs.
Installation
composer require loka1/social-links
Usage
use SocialLinks\SocialLinks; use SocialLinks\Type; $sl = new SocialLinks();
Validate a URL
$sl->isValid('facebook', 'https://www.facebook.com/zuck'); // true $sl->isValid('twitter', 'https://x.com/elonmusk'); // true $sl->isValid('instagram', 'https://instagram.com/instagram'); // true $sl->isValid('linkedin', 'https://linkedin.com/in/satyanadella'); // true
Extract profile ID
$sl->getProfileId('facebook', 'https://www.facebook.com/zuck'); // "zuck" $sl->getProfileId('twitter', 'https://x.com/elonmusk'); // "elonmusk"
Build a canonical URL
$sl->getLink('facebook', 'zuck'); // "https://facebook.com/zuck" $sl->getLink('twitter', 'elonmusk'); // "https://x.com/elonmusk" $sl->getLink('linkedin', 'satyanadella', Type::MOBILE); // "https://linkedin.com/mwlite/in/satyanadella"
Sanitize a messy URL
$sl->sanitize('facebook', 'http://www.facebook.com/zuck/'); // "https://facebook.com/zuck" $sl->sanitize('twitter', 'https://twitter.com/elonmusk'); // "https://x.com/elonmusk" $sl->sanitize('instagram', 'https://www.instagram.com/instagram/'); // "https://instagram.com/instagram" $sl->sanitize('linkedin', 'http://de.linkedin.com/in/loka1/'); // "https://linkedin.com/in/loka1"
Auto-detect a profile
$sl->detectProfile('https://www.facebook.com/zuck'); // "facebook" $sl->detectProfile('https://x.com/elonmusk'); // "twitter" $sl->detectProfile('https://instagram.com/instagram');// "instagram" $sl->detectProfile('https://linkedin.com/in/test'); // "linkedin" $sl->detectProfile('https://example.com'); // ""
Custom profiles
use SocialLinks\ProfileMatch; use SocialLinks\Type; $sl = new SocialLinks(new Config(usePredefinedProfiles: false)); $sl->addProfile('myNetwork', [ new ProfileMatch( match: '(https?://)?mynetwork.com/({PROFILE_ID})/?', group: 2, type: Type::DESKTOP, pattern: 'https://mynetwork.com/{PROFILE_ID}', ), new ProfileMatch( match: '({PROFILE_ID})', group: 1, ), ]); $sl->isValid('myNetwork', 'https://mynetwork.com/johndoe'); // true
Configuration
use SocialLinks\Config; // Disable predefined profiles new SocialLinks(new Config(usePredefinedProfiles: false)); // Disable input trimming new SocialLinks(new Config(trimInput: false)); // Allow URLs with query parameters new SocialLinks(new Config(allowQueryParams: true));
Supported Networks
| Network | Desktop | Mobile |
|---|---|---|
| facebook.com | m.facebook.com | |
| twitter.com, x.com | mobile.twitter.com | |
| instagram.com | m.instagram.com | |
| linkedin.com (with localized subdomains) | linkedin.com/mwlite |
Requirements
- PHP >= 8.1
- No runtime dependencies
License
MIT
loka1/social-links 适用场景与选型建议
loka1/social-links 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 41 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 loka1/social-links 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 loka1/social-links 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 41
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 37
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2026-04-06