Array {
[0] => http://abc.com/video/ghgh23;
[1] => http://smtech.com/file/mwerq2;
}
Я хочу, чтобы заменить содержимое между /
SOMETEXT /
из вышеприведенного массива. Как я хочу заменить video
, file
с abc
.Строка замены PHP
Array {
[0] => http://abc.com/video/ghgh23;
[1] => http://smtech.com/file/mwerq2;
}
Я хочу, чтобы заменить содержимое между /
SOMETEXT /
из вышеприведенного массива. Как я хочу заменить video
, file
с abc
.Строка замены PHP
Вам не нужно перебрать каждый элемент массива, str_replace
может принять массив заменить:
$myArray = str_replace(array('/video/', '/file/'), '/abc/', $myArray);
Однако, основываясь на свой вопрос, вы можете заменить первый сегмент пути, а не конкретный индекс. Таким образом, чтобы сделать это:
$myArray = preg_replace('((?<!/)/([^/]+)/)', '/abc/', $myArray);
Это заменит первый элемент пути каждого URL в $myArray
с /abc/
...
Один из способов заключается в использовании str_replace() Вы можете проверить его здесь: http://php.net/str_replace
Либо str_replace
как предложено другие комментарии или с помощью регулярного выражения, особенно если вы могли бы иметь более длинный URL с несколькими сегментами, как http://example.com/xxx/somestuff/morestuff
В этом случае str_replace не будет достаточно, то вы будете нуждаться в preg_replace
//every element in $myArray
for($i=0; $i < count($myArray); $i++){
$myArray[$i] = str_replace('/video/','/abc/',$myArray[$i]);
}
Это еще один вариант. Поставьте массив, foreach подберет его, а затем первым параметром str_replace может быть массив, если это необходимо. Надеюсь, вы сочтете это полезным.
<?php
$array = array('http://abc.com/video/ghgh23','http://smtech.com/file/mwerq2');
$newarray = array();
foreach($array as $url) {
$newarray[] = str_replace(array('video','file'),'abc',$url);
}
print_r($newarray);
?>
$array = array('http://abc.com/video/ghgh23', 'http://smtech.com/file/mwerq2');
foreach ($array as &$string)
{
$string = str_replace('video', 'abc', $string);
$string = str_replace('file', 'abc', $string);
}
str_replace? preg_replace? – ceejayoz
Посмотрите на функцию 'preg_replace': http://php.net/manual/en/function.preg-replace.php –