【发布时间】:2015-02-09 01:51:51
【问题描述】:
我遇到了一个小问题,我再次寻求您的帮助,解决方案可能很明显/看着我,但我还没有解决我的问题。
我需要修剪一个恰好有一个变量的字符串。 (字符串实际上是一个 URL)
示例字符串/URL:
/portal/index.php?module=SerialDB&page=listing&returnmsg=3
&returnmsg=3 可以是从 0 到 100 的数字范围,在某些情况下还可以是文本。这是我需要修剪的变量,因为我希望将字符串/ URL 的其余部分存储到数据库中。以下是我寻求的结果;
/portal/index.php?module=SerialDB&page=listing
我尝试了以下代码,只是为了看看它是否适合我需要的功能,但不幸的是它更具体,除非得到完全匹配,否则不会修剪。
$str = "/portal/index.php?module=SerialDB&returnmsg=3";
echo $str . "<br>"; // Test to see full string
echo chop($str,"&returnmsg="); // Attempt to trim the string
如果有人能胜任协助的任务,我将不胜感激。与我的所有问题一样,我也想了解正在发生的事情,而不是仅仅将代码交给我,以便我将来可以自信地使用它。
再次感谢大家:)
【问题讨论】:
-
preg_replace (&returnmsg=*) 带空白
-
这个参数是否总是最后一个(如果存在)?您的网址是否包含锚部分?
-
你求的结果肯定不是'/portal/index.php?module=SerialDB&page=listing',不然为什么不用php的子串函数:echo substr($str, 0, 46);
-
是的,参数在出现时总是最后一个,但是 URL 的其余部分(如 &page= 和 &module= 可能不同,以及额外或更少的参数)的长度可能会有很大差异