php - 按照隐蔽的链接与前面的数字链
问题描述
我正在构建一个小的伪装链接脚本,但我需要找到每个具有不同字符串编号的脚本,例如('mylinkname1'-1597
)。顺便说一句:数字总是整数。
问题是我从不知道字符串编号,所以我想使用正则表达式,但有些东西失败了。
这是我现在得到的:
$pattern = '/-([0-9]+)/';
$v = $_GET['v']
if ($v == 'mylinkname1'.'-'.$pattern) {$link = 'http://example1.com/';}
if ($v == 'mylinkname2'.'-'.$pattern) {$link = 'http://example2.com/';}
if ($v == 'mylinkname3'.'-'.$pattern) {$link = 'http://example3.com/';}
header("Location: $link") ;
exit();
解决方案
破折号已经在模式中,因此您不必在 if 子句中添加它。
您可以省略数字周围的捕获组-[0-9]+
,并且必须将模式与preg_match一起使用。
您可以将 if 语句的格式更新为:
$pattern = '-[0-9]+';
if (preg_match("/mylinkname1$pattern/", $v)) {$link = 'http://example1.com/';}
为了防止mylinkname1-1597
成为更大单词的一部分,您可以用锚点包围模式^
并$
断言字符串或单词边界的开始和结束\b
推荐阅读
- java - 选择银行账户并使用菜单使用该账户
- javascript - 为什么这个简单的 hello world Vue 应用程序会因未找到挂载而失败?
- amazon-web-services - 在 appspec.yml 中提到可执行文件的位置
- c++ - 在 Visual Studio Code Linux 上激活 conda 环境
- android - Fire base google 身份验证不会传递真实的虚构信息
- java - 尝试使用正则表达式查找最后一个大写字符的索引
- docker - 将 Docker-compose 部署到生产环境中
- python - 我可以将 Twitter 的学术研究完整存档端点 v2 与 tweepy 一起使用吗?
- python - 表格首字母不显示
- reactjs - 如何使用 React Link 组件提交表单?