У меня есть такая переменная:
$str = 'loremipsum Gol A WB=10 PRC=7|Gol O TC=8 PRC=12|Gol B WB=170 PRC=17|Gol AB WB=0 TC=1 url';
Я хочу разделить Gol A WB=10
, Gol A PRC=7
, Gol O TC=8
и т.д. Как независимую строку, поэтому я могу обработать другую функцию для строки. Любая помощь будет оценена по достоинству.
ОБНОВЛЕНИЕ перед тем, спасибо за ответы, но я сожалею, что ваши ответы - не тот ответ, который мне нужен. До сих пор я получил это
$string_array = array("abc string 1 abc","abc string 2 abc" ,"abc string 3 abc");
foreach($string_array as $string){
echo getBetween($string,"abc","abc") . "<br>";
}
и моя проблема в том, что у меня нет такого же слова, чтобы избавиться, но разные слова, поэтому код, который мне нужен, я считаю, не будет
echo getBetween($string,**"abc","abc"**) . "<br>";
Пожалуйста, помогите мне с этим.
$str = 'loremipsum Gol A WB=10 PRC=7|Gol O TC=8 PRC=12|Gol B WB=170 PRC=17|Gol AB WB=0 TC=1 url';
preg_match_all('/Gol(.*?)[0-9]/',$str,$matches);
foreach($matches[0] as $match) {
echo "<li>{$match}</li>";
}
Я точно не знаю, что вы имеете в виду, но, возможно, один из них?:
<?php
$str = 'loremipsum Gol A WB=10 PRC=7|Gol O TC=8 PRC=12|Gol B WB=170 PRC=17|Gol AB WB=0 TC=1 url';
preg_match_all('/(Gol [A-Z]{1,2} [A-Z\=0-9]{1,})/',$str,$matched);
print_r($matched[1]);
print_r(preg_replace('/'.implode("|",$matched[1]).'/',"",$str));
print_r(implode("|",$matched[1]));
?>
Дает тебе:
Array
(
[0] => Gol A WB=10
[1] => Gol O TC=8
[2] => Gol B WB=170
[3] => Gol AB WB=0
)
loremipsum PRC=7| PRC=12| PRC=17| TC=1 url
Gol A WB=10|Gol O TC=8|Gol B WB=170|Gol AB WB=0
Изменить: ваш первоначальный запрос был не очень ясным, но вам может понадобиться нечто вроде завернутого preg_match()
.
function extract_val($str,$reg1="",$reg2="")
{
preg_match('/^'.$reg1.'(.*)'.$reg2.'$/', $str,$matched);
return (isset($matched[1]))? $matched[1]:false;
}
пытаться:
$str = 'loremipsum Gol A WB=10 PRC=7|Gol O TC=8 PRC=12|Gol B WB=170 PRC=17|Gol AB WB=0 TC=1 url';
$chunks=explode('|', $str); //Split your string by |
foreach($chunks as $chunk){ //iterate through chunks
echo $chunk;
//process here using chunk...
}