【发布时间】:2020-04-20 08:41:41
【问题描述】:
我有一个字符串,格式为:keyword/page-XXX(以page-XXX结尾,可以为空)
keyword 是任意字符。斜杠前的所有字符都是关键字。但是关键字可以有斜线。关键字可以是page-XXX
XXX是任意数字
(page-XXX正在分页)
我想使用正则表达式来获取关键字的值。怎么做?
例如:
字符串是:I-Like-PHP/page-123/page-456/page-789 => 关键字的值为 I-Like-PHP/page-123/page-456
字符串是:I-Like-PHP => 关键字值 I-Like-PHP
字符串是:I-Like-PHP/ => 关键字值 I-Like-PHP/ (有斜线)
字符串是:I-Like-PHP/page-123 => 关键字值 I-Like-PHP
字符串是:page-123 => 关键字是 page-123
字符串是:page-123/ => 关键字是 page-123/
如何仅使用正则表达式获得它?
【问题讨论】:
-
第一个斜杠之前的第一个值总是关键字?
-
你试过 php.ini 中的 stripslashes 函数了吗?它可以删除斜线
-
$arr = explode("/", $string); $first = $arr[0]; explode 返回一个数组,第一部分将保存在数组中
-
应用多个正则表达式的问题在哪里?它可以更高效,以后更容易阅读。
-
什么意思?关键字是任何字符。斜杠前的所有字符都是关键字。但是关键字可以有斜线。并且关键字可以是page-XXX 并且只需要使用正则表达式,而不是使用PHP来解析字符串