2

我正在尝试更改保存当前 URL 的字符串中的值。我试图得到类似的东西

http://myurl.com/test/begin.php?req=&srclang=english&destlang=english&service=MyMemory

看起来像

http://myurl.com/test/end.php?req=&srclang=english&destlang=english&service=MyMemory

替换begin.phpend.php.

我需要将end.php其存储在一个变量中,以便它可以更改,但begin.php可以是一个静态字符串。

我试过这个,但没有奏效:

$endURL   = 'end.php';
$beginURL = 'begin.php';
$newURL   = str_ireplace($beginURL,$endURL,$url);

编辑:另外,如果我想更换

http://myurl.com/begin.php?req=&srclang=english&destlang=english&service=MyMemory

http://newsite.com/end.php?req=&srclang=english&destlang=english&service=MyMemory

那我该怎么做呢?

4

3 回答 3

1

假设您要替换 url 的脚本文件名,您可以使用以下内容:

<?php 
  $endURL   = 'end.php';
  $url ="http://myurl.com/test/begin.php?req=&srclang=english&destlang=english&service=MyMemory";
  $pattern = '/(.+)\/([^?\/]+)\?(.+)/';
  $replacement = '${1}/'.$endURL.'?${3}';
  $newURL = preg_replace($pattern , $replacement, $url);

   echo "url : $url <br>";
   echo "newURL : $newURL <br>";
?>
于 2012-04-17T05:30:31.080 回答
0

您希望他们如何从 beigin.php 到达 end.php?似乎您可以只将 FORM 提交到 end.php 并通过 POST 或 GET 变量传递变量。

更改用户所在页面(end.php,begin.php)的唯一方法是将他们链接到该页面的另一个页面,这需要刷新页面。

于 2012-04-16T22:54:05.510 回答
0

我最近为此制作了一个 PHP 文件,它最终看起来像这样:

$vars = $_SERVER["QUERY_STRING"];
$filename = $_SERVER["PHP_SELF"];
$filename = substr($filename, 4);
// for me substr removed 'abc/' in the beginning of the string, you can of course adjust this variable, this is the "end.php"-variable for you.

if (strlen($vars) > 0) $vars = '?' . $vars;
$resultURL = "http://somewhere.com" . $filename . $vars;
于 2012-04-16T22:54:44.377 回答