Как мне разобрать строку для определенного раздела с разделителями в PHP? - PullRequest
3 голосов
/ 25 февраля 2010

У меня есть строка, например "[{XYZ123}] Это тест", и мне нужно разобрать содержимое между [{и}] и вывести в другую строку. Я полагаю, что для достижения этой цели используется регулярное выражение, но поскольку это не для слабонервных, я не пытался и не нуждался в вашей помощи.

Как лучше всего поместить фрагмент между [{и}]? Заранее спасибо за помощь!

Ответы [ 3 ]

4 голосов
/ 25 февраля 2010
<?php
$str = "[{XYZ123}] This is a test";

if(preg_match('/\[{(.*?)}\]/',$str,$matches)) {

 $dump = $matches[1];

 print "$dump";  // prints XYZ123
}

?>
3 голосов
/ 25 февраля 2010
$str = "[{XYZ123}] This is a test";
$s = explode("}]",$str);
foreach ($s as $k){
  if ( strpos($k,"[{") !==FALSE ){
    $t = explode("[{",$k); #or use a combi of strpos and substr()
    print $t[1];
  }
}
2 голосов
/ 25 февраля 2010

Регулярное выражение будет (?=\[\{).*(?=\}\]), хотя я не знаю, поддерживает ли php перспективу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...