вырезка из строки..

R00miss

Guest
вырезка из строки..

Привет!
есть:
$string = "hello needed text he";

нужно чтобы:
$s1 = "hello";
$s2 = "needed text"

но: needed text постоянно разный, т.е. разная длина и т.п.

вопрос: как вырезать needed text и воткнуть в $s2 ?
 

R00miss

Guest
to Zh0rzh:
вот кусок настоящего текста:
00AC-BK-F1DB102P BELKIN OMNIVIEW KVM SWITCH 2 PORT AC ea ...

т.е. в этом примере мне нужен следующий текст: BELKIN OMNIVIEW KVM SWITCH 2 PORT

итак: начинается 'needed text' после самого первого пробела, идет сам текст, и заканчивается двумя первыми буквами (т.е. в этом примере AC) после пробела, потом еще куча всего идет...
 

lovchy

nacido para cifrar
>> прочитай еще раз вопрос plz..

Это лучше ты прочитай его и сравни со вторым. .]. Формулировать вопрос надо чётко. Кстати, на preg_replace ссылку дали.

http://php.net/preg_replace
 

R00miss

Guest
а экзампл можно плиз по моему примеру?
 

Profic

just Profic (PHP5 BetaTeam)
~([^ ]+) ((?:.(?! AC))*)~

это шаблон для preg_match, соответственно вместо " AC" можешь поставить что угодно...
 

R00miss

Guest
проблема во второй вырезки(перед "AC" из в примере)
 

Profic

just Profic (PHP5 BetaTeam)
хе можно еще проще :) для отдельной строки
$str = '... your str ...';
$space = strpos (' ', $str);
$end = strpos ('AC', $str);
$s1 = substr ($str, 0, $space);
$s2 = substr ($str, $space, strlen ($str) - $space - $end);

ЗЫ. не проверял, может где-то ошибится на 1-2 символа...
 

Profic

just Profic (PHP5 BetaTeam)
R00miss:
а шаблон мой удобно использовать для [m]preg_match_all[/m] когда в строке таких строк может быть несколько
 

Zh0rzh

Новичок
$string = "00AC-BK-F1DB102P BELKIN OMNIVIEW KVM SWITCH 2 PORT AC ea";
$s_arr = explode(" ", $string);
$count=1;
$need ='';
while(strlen($s_arr[$count])!=2) {

$need .=$s_arr[$count]." ";
$count++;
}
 
Сверху