Как перебрать цикл внутри строки в поиске любого слова после фиксированного ключевого слова? - PullRequest
2 голосов
/ 27 марта 2010

Предположим, у меня есть строчка "PHP Paddy, PHP Pranav, PHP Parth", теперь у меня счетчик 3, как теперь итерировать цикл в строке, направленный на строку после "PHP", чтобы отобразить все имена

Хорошо. Это строка "BEGIN IF (NEW.name != OLD.name) THEN INSERT INTO jos_menuaudit set menuid=OLD.id, oldvalue = OLD.name, newvalue = NEW.name, field = "name"; END IF; IF (NEW.alias != OLD.alias) THEN INSERT INTO jos_menuaudit set menuid=OLD.id, oldvalue = OLD.alias, newvalue = NEW.alias, field = "alias"; END IF; END", в которой я ищу определенное слово после "IF (NEW.", и после этого другие строки не должны отображаться, следовательно, всякий раз, когда в цикле он находит "IF (NEW. "Я должен услышать слово рядом с ним. и таким образом массив должен быть готов к использованию.

Ответы [ 5 ]

3 голосов
/ 27 марта 2010

Или вы можете (более или менее) "объединить" штуки explode () и substr () в один вызов preg_match_all ()

$pattern = '/(?<=PHP )[^,]+/';
$input = "PHP Paddy,PHP Pranav,PHP Parth";
preg_match_all($pattern, $input, $captures);
foreach( $captures[0] as $e ) {
  echo $e, "\n";
}

отпечатков

Paddy
Pranav
Parth
2 голосов
/ 27 марта 2010
$str =  "PHP Paddy Paddy,PHP Pranav,PHP Parth";
$s = array_filter(preg_split("/,|PHP/",$str));
print_r($s);
2 голосов
/ 27 марта 2010

Использование explode и substr:

$str =  "PHP Paddy,PHP Pranav,PHP Parth";    
$ary = explode(',', $str);
foreach($ary as $str){
   echo substr($str, 4);
}
1 голос
/ 27 марта 2010

вы можете сделать:

$str = "PHP Paddy,PHP Pranav,PHP Parth";
foreach(explode(',',$str) as $p) {
    echo substr($p,4)."\n";
}
  • Сначала мы разбиваем строку на запятую, чтобы получить массив с 3 элементами
  • Далее мы перебираем массив и печатать каждый элемент пропуская первый 4 char.
0 голосов
/ 27 марта 2010

Также можно использовать strstr

$str = "PHP Paddy,PHP Pranav,PHP Parth";
foreach(explode(',',$str) as $st) {
echo strstr($st,' ')."\n";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...