Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Работа с строками

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: как вырезать
nordghost
Отправлено: 09 Февраля, 2012 - 22:09:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 319
Дата рег-ции: Окт. 2011  


Помог: 3 раз(а)




Есть строка

Computer1 бла бла бла Computer1 Computer2 бла2 бла2 бла2 Computer2

Как правильно составить условие и вырезать вот эти бла бла бла и забить их в переменную скажем $com1, а бла2 бла2 бла2 в переменную $com2.


не серчайте за гору вопросов я ещё учусь Однако


-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
Panoptik
Отправлено: 09 Февраля, 2012 - 22:15:48
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




так а по какому критерию искать? русские среди латинских ? или конкретное слово "бла"?


-----
Just do it
 
 Top
Okula
Отправлено: 09 Февраля, 2012 - 22:17:43
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




PHP:
скопировать код в буфер обмена
  1. preg_match_all("~(бла бла бла|бла2 бла2 бла2)~us", $string, $inf);
  2. var_dump($inf);

Радость
 
 Top
Panoptik
Отправлено: 09 Февраля, 2012 - 22:18:34
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




в простейшем случае
PHP:
скопировать код в буфер обмена
  1. $str = "Computer1 бла бла бла Computer1 Computer2 бла2 бла2 бла2 Computer2 ";
  2. $mystr = "бла бла бла";
  3. $com1 = substr($str,strpos($mystr,$str),strlen($mystr));

но это бред. вернет то же что и было...

(Отредактировано автором: 09 Февраля, 2012 - 22:20:23)



-----
Just do it
 
 Top
nordghost
Отправлено: 09 Февраля, 2012 - 22:21:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 319
Дата рег-ции: Окт. 2011  


Помог: 3 раз(а)




Критерий поиска - те фразы которые находятся между словами Computer1 и Computer1 неважно что между ними будет написанно ну и соответственно Computer2 Computer2 єти слова - разделители кагбэ!


-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
SolarS
Отправлено: 09 Февраля, 2012 - 22:22:16
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Okula

жжеш Радость

nordghost
фрагмент кода в студию (иначе ето гадание на кофейной гуще)
Хм
 
 Top
Panoptik
Отправлено: 09 Февраля, 2012 - 22:24:13
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




PHP:
скопировать код в буфер обмена
  1. $str = "Computer1 бла бла бла Computer1 Computer2 бла2 бла2 бла2 Computer2 ";
  2. preg_match('/Computer1[\s]*([\w\W]+)[\s]*Computer1/',$str,$match);
  3. $com1 = $match[1];

(Отредактировано автором: 09 Февраля, 2012 - 22:28:47)



-----
Just do it
 
 Top
SolarS
Отправлено: 09 Февраля, 2012 - 22:24:19
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




nordghost
хе-хе

З.Ы. автоматизируеш онлайн игруху ;)
 
 Top
nordghost
Отправлено: 09 Февраля, 2012 - 22:27:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 319
Дата рег-ции: Окт. 2011  


Помог: 3 раз(а)




Не угадал, пишу диплом - мониторю систему.
(Добавление)
1) НА первом компе
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. while(true){
  4. $memusage=file_get_contents("../../../proc/meminfo");
  5. preg_match_all("~([0-9]+)~m", $memusage, $memusagearr);
  6. $procusage=file_get_contents("../../../proc/loadavg");
  7. preg_match_all("~([0-9]+)~m", $procusage, $procusagearr);
  8. $disks=disk_total_space('../../../home');
  9. $diskfs=disk_free_space('../../../home');
  10. $disku=$disks-$diskfs;
  11. $cinf="computer1";
  12. $disks=round(((($disks/1024)/1024)/1024))."Gb ";
  13. $diskfs=round(((($diskfs/1024)/1024)/1024))."Gb ";
  14. $disku=round(((($disku/1024)/1024)/1024))."Gb ";
  15. $memtot=round($memusagearr[1][0]/1024)."Mb ";
  16. $memus=round($memusagearr[1][5]/1024)."Mb ";
  17. $curtime=date("d-m-Y-H-i")." ";
  18. $procusg=$procusagearr[1][1]."%"."\n";
  19. $allparam=array($cinf, $curtime, $disks, $diskfs, $disku, $memtot, $memus, $procusg, $cinf);
  20. $msg=implode("", $allparam);
  21. $addres='192.168.168.136';
  22. $port='10001';
  23. $socket=socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  24. socket_connect($socket, $addres, $port);
  25. socket_write($socket, $msg);
  26. socket_close($socket);
  27. sleep(30);
  28. }
  29.  


На втором
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. while(true){
  4. $memusage=file_get_contents("../../../proc/meminfo");
  5. preg_match_all("~([0-9]+)~m", $memusage, $memusagearr);
  6. $procusage=file_get_contents("../../../proc/loadavg");
  7. preg_match_all("~([0-9]+)~m", $procusage, $procusagearr);
  8. $disks=disk_total_space('../../../home');
  9. $diskfs=disk_free_space('../../../home');
  10. $disku=$disks-$diskfs;
  11. $cinf2="computer2";
  12. $disks=round(((($disks/1024)/1024)/1024))."Gb ";
  13. $diskfs=round(((($diskfs/1024)/1024)/1024))."Gb ";
  14. $disku=round(((($disku/1024)/1024)/1024))."Gb ";
  15. $memtot=round($memusagearr[1][0]/1024)."Mb ";
  16. $memus=round($memusagearr[1][5]/1024)."Mb ";
  17. $curtime=date("d-m-Y-H-i")." ";
  18. $procusg=$procusagearr[1][1]."%"."\n";
  19. $allparam=array($cinf2, $curtime, $disks, $diskfs, $disku, $memtot, $memus, $procusg, $cinf2);
  20. $msg=implode("", $allparam);
  21. $addres='192.168.168.136';
  22. $port='10001';
  23. $socket=socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  24. socket_connect($socket, $addres, $port);
  25. socket_write($socket, $msg);
  26. socket_close($socket);
  27. sleep(30);
  28. }
  29.  


Сервер принимает цеую строку вот и надо разделить



PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4. <?PHP
  5.  
  6. $addres= '192.168.168.136';
  7. $port=10001;
  8. $sock=socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  9. socket_bind($sock, $addres, $port);
  10. while(true){
  11. socket_listen($sock, 5);
  12. $msgsock=socket_accept($sock);
  13. $buf=socket_read($msgsock, 1024);
  14. $ofile=fopen('log.txt', 'a');
  15. fwrite($ofile, $buf);
  16. fclose($ofile);
  17. }
  18. ?>
  19.  
  20.  


вот сервер, сервер пишет всё в файл log
а мне нужно сделать чтобы с 1 компа писал в log а со 2-го в log2
для этого нужно разделить инфу полученную с обеих машин. вопрос - как?

(Отредактировано автором: 09 Февраля, 2012 - 22:33:18)



-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
Panoptik
Отправлено: 09 Февраля, 2012 - 22:52:11
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




ну так пример инфы в студию. а коды это уже удел помогающих


-----
Just do it
 
 Top
Okula
Отправлено: 10 Февраля, 2012 - 00:06:32
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




PHP:
скопировать код в буфер обмена
  1. preg_match("~Computer1(.*)Computer1~Uis", $string, $info);
  2. preg_match("~Computer2(.*)Computer2~Uis", $string, $info2);
  3. var_damp($info[1], $info2[1]);
 
 Top
nordghost
Отправлено: 10 Февраля, 2012 - 00:12:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 319
Дата рег-ции: Окт. 2011  


Помог: 3 раз(а)




Вот оно спасибо окула =)


-----
<a href="http://netbeans[dot]org/">Моя любимая IDE</a> :3
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB