str_replace 数组中的字符串,编号自动增加
我们可以采取哪些措施来删除 page=2& From:
"page=2¶m1=value1¶m2=value2" or
"param1=value1&page=2¶m2=value2".
成为:
"param1=value1¶m2=value2" or
"param1=value1¶m2=value2".
在 page=2 的情况下,2 是任何自然数。即(0 到 32000)。
问候,
what we can do to remove page=2&
From:
"page=2¶m1=value1¶m2=value2" or
"param1=value1&page=2¶m2=value2".
become:
"param1=value1¶m2=value2" or
"param1=value1¶m2=value2".
in case of page=2, 2 is any natural no. i.e. (0 to 32000).
Regards,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用 parse_str 将字符串解析为数组,从数组中取消设置页面,然后使用 http_build_query重建结果。
代码示例:
You can use parse_str to parse the string to an array, unset page from the array, and then use http_build_query to reconstruct the result.
Code example:
正则表达式:
外部的修剪将删除任何可能剩余的尾随
&
。如果您想修剪任何内容,可以将
\d+
替换为[^&]+
以匹配&
以外的任何字符。The regexp:
The trim around the outside will remove any trailing
&
that might be leftover.If you want to trim anything you can replace the
\d+
with[^&]+
to match any characters other than&
.使用爆炸?
using explode ?
如果我理解正确的话,这将允许您删除任意页面(只要您知道页面数量):
顺便说一句,如果可以避免的话,使用正则表达式并不是最佳的编码方式。它们速度很慢,应该用其他方法替换,例如
str_replace
或尽可能标记化。就个人而言,如果我知道必须从查询字符串中删除哪个页面,我会使用我的方法,因为它的运行速度比 preg_replace 快得多。If I understood you correctly, this will let you remove an arbitrary page (as long as you know the number):
As a side note, using regular expressions is not the optimum way to code if they can be avoided. They are slow and should be replaced with other methods such as
str_replace
or tokenizing where possible. Personally I'd use my method If I knew what page I had to remove from the query string as it will run much faster than a preg_replace.