删除php中第四个斜杠后的部分字符串

删除php中第四个斜杠后的部分字符串,php,Php,我有一个数组,其中包含链接,并试图编辑这些链接。尝试在第四个斜杠后剪切链接 [0]=> string(97) "https://www.nowhere.com./downtoalley/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=shimokita4040/outline" [1]=> string(105) "https://www.example.com./wowar-waseda/?iad2=sumai-p

我有一个数组,其中包含链接,并试图编辑这些链接。尝试在第四个斜杠后剪切链接

  [0]=>
  string(97) "https://www.nowhere.com./downtoalley/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=shimokita4040/outline"
  [1]=>
  string(105) "https://www.example.com./wowar-waseda/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=shinjuku-w25861/outline"
  [2]=>
  string(91) "https://www.hey.com./gotoashbourn/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=kinuta7429/outline"
预期输出如下所示:

  [0]=>
  string(97) "https://www.nowhere.com./downtoalley/"
  [1]=>
  string(105) "https://www.example.com./wowar-waseda/"
  [2]=>
  string(91) "https://www.hey.com./gotoashbourn/"

长度不同,所以我不能使用
strtok
任何其他选项

没有直接的功能来实现这一点。您可以按照下面的PHP代码进行操作:

$explodingLimit = 4;
$string = "https://www.nowhere.com./downtoalley/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=shimokita4040/outline";
$stringArray = explode ("/", $string);
$neededElements = array_slice($stringArray, 0, $explodingLimit);
echo implode("/", $neededElements);
我为一个元素做了这个,你可以用它来创建数组。如果需要,还可以添加last
“/”
。希望它对您有所帮助。

您可以使用此正则表达式将第四个
/
之后每个字符串中的所有内容替换为零

^(([^/]*/){4}).*$
它查找4组非
/
字符,后跟一个
/
,在捕获组1中收集该文本;然后替换为
$1
,只给出第四个
/
之前的文本:

$strings = array("https://www.nowhere.com./downtoalley/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=shimokita4040/outline",
"https://www.example.com./wowar-waseda/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=shinjuku-w25861/outline",
"https://www.hey.com./gotoashbourn/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=kinuta7429/outline");
print_r(array_map(function ($v) { return preg_replace('#^(([^/]*/){4}).*$#', '$1', $v); }, $strings));
输出:

Array (
    [0] => https://www.nowhere.com./downtoalley/
    [1] => https://www.example.com./wowar-waseda/
    [2] => https://www.hey.com./gotoashbourn/ 
)

尝试以下代码:

<?php
$arr = array(
0 => "https://www.nowhere.com./downtoalley/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=shimokita4040/outline",
1 => "https://www.example.com./wowar-waseda/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=shinjuku-w25861/outline",
2 => "https://www.hey.com./gotoashbourn/?iad2=sumai-pickup&argument=CH4fRVnN&dmai=kinuta7429/outline");

$resultArray = array();
foreach($arr as $str) {
    array_push($resultArray, current(explode("?",$str)));   
}
print_r($resultArray);

?>


您可以测试此代码

您是否尝试过使用
内爆
爆炸
?考虑得到数组的一个值,并将其设置为变量,如“代码> $部分=爆炸('/')”https://www.nowhere.com./downtoalley/?iad2=sumai-拾取和参数=CH4fRVnN和dmai=shimokita4040/outline')和输出将在
$output=infrade('/',array_slice($parts,0,3))