PHP.SU

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

Страниц (12): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец

> Найдено сообщений: 172
strengerst Отправлено: 29 Июня, 2012 - 22:09:58 • Тема: Подскажите как правильно? • Форум: Вопросы новичков

Ответов: 4
Просмотров: 139
У меня есть массив vait в котором есть данные такого типа как:
PHP:
скопировать код в буфер обмена
  1. Array ( [0] => :42-44 [1] =>  :42,44,45,46 [2] => k:42,44 [3] => :42-52 [4] => :42-44 [5] =>:42-44,52 [6] =>-:42-44 [7] => гш:42-44 [8] => :42-44 [9] => б:42-46 [10] => <:42-46 [11] => ':42-46 [12] => ,:42-46);
и так далее. Как мне заполучить массив с данными этого массива который будет содержать цифровые данные типа:
PHP:
скопировать код в буфер обмена
  1. Array ( [0] =>42-44[1] =>42,44,45,46[2] =>42,44[3] =>42-52 [4] =>42-44 [5] => 42-44,52 [6] =>42-44 [7] =>42-44 [8] => 42-44 [9] =>42-46 [10] =>42-46 [11] =>42-46 [12] => 42-46);


Я пытался делать так но не получаеться
PHP:
скопировать код в буфер обмена
  1. $n=count(vait);
  2. for($i=0; $i<$n; $i++){
  3. preg_match_all('/[\s]*([0-9]{2}[\s]*[,]?[-]?){0,}/', $vait, $contio);
  4. $dert[]=$contio[0][$i];}

Как бы так правильно зделать с помощью регулярных выражений?
strengerst Отправлено: 29 Июня, 2012 - 19:08:33 • Тема: Как сравнить массивы между собой • Форум: Вопросы новичков

Ответов: 2
Просмотров: 155
EuGen пишет:
strengerst
<a href='http://php.su/functions/?array_diff'>array_diff</a>
?


Спасибо вы правы. То что нужно.
strengerst Отправлено: 29 Июня, 2012 - 18:35:26 • Тема: Как сравнить массивы между собой • Форум: Вопросы новичков

Ответов: 2
Просмотров: 155
У меня есть массив $price[]; и массив $znach[];

Мне нужно сравнить данные массива $price[] с данными массив $znach[], и те значения которые отличаються добавить в массив $set[];

Я делаю так:

PHP:
скопировать код в буфер обмена
  1. $count=count($price);
  2. $count2=count($znach);
  3. for($i=0; $i<$count; $i++){
  4.         for($z=0; $z<$count2; $z++){
  5.                 if($price[$i]!==$znach[$z]){$set[]=$price[$i];}
  6.                 }
  7.         }
  8.  
  9. print_r($set);
У меня получается коломбур какойто. Как правильно подскажите.
strengerst Отправлено: 29 Июня, 2012 - 14:28:28 • Тема: Проблема с file_get_contents • Форум: HTTP и PHP

Ответов: 2
Просмотров: 1243
да мне просто понять хотелось что не так с кодом. Спасибо что разъеснил.

Кстати взлянте пожалуйста я попытался изменить ваш код что бы имена фотографий сохронялись без пробелов, все работает, но может я как то не правильно зделал?
PHP:
скопировать код в буфер обмена
  1.  
  2. $curl = curl_init();
  3. curl_setopt($curl, CURLOPT_URL, 'http://bicotone.com.ua/catalog/category/17-2011-06-14-14-27-05');
  4. curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  5. curl_setopt($curl, CURLOPT_HEADER, false);
  6. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  7. curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
  8. curl_setopt ($curl, CURLOPT_USERAGENT , $_SERVER['HTTP_USER_AGENT']);
  9. $res = curl_exec($curl);
  10. curl_close($curl);
  11. $patern = "~";
  12. $patern .= "<div[\s]+class=\"phocagallery-box-file[\w\W]+<img src=\"(?P<img_src>[\w\W]+)\"[^>]+";
  13. $patern .= "[\w\W]+<div[\s]+class=\"phocaname[^>]+\">(?P<img_name>[^<]+)<\/div>";
  14. $patern .= "~siU";
  15. preg_match_all($patern, $res, $math);
  16. $my_img_path = 'bicotonr/';
  17. foreach($math['img_src'] as $key => $img)
  18. {
  19. if(strlen($math['img_name'][$key])>7){   
  20. $math['img_name'][$key]= substr ($math['img_name'][$key], 0,4).''.substr($math['img_name'][$key], -3,3);} else {$math['img_name'][$key]= substr ($math['img_name'][$key], 0,4).''.substr($math['img_name'][$key], -2,2);}
  21.  
  22. $path_info = pathinfo($img);
  23.   $path = trim(dirname($img), '/').'/'.rawurlencode(basename($img));
  24.          $img_name = trim($math['img_name'][$key]).'.'.$path_info['extension'];
  25.          
  26.                  if(is_file($my_img_path.$img_name))
  27.                  $img_name = trim($math['img_name'][$key]).' (2).'.$path_info['extension'];
  28.                   copy('http://bicotone.com.ua/'.$path, $my_img_path.$img_name);
  29.                
  30. }
  31.  
  32.  
strengerst Отправлено: 29 Июня, 2012 - 13:41:21 • Тема: Проблема с file_get_contents • Форум: HTTP и PHP

Ответов: 2
Просмотров: 1243
PHP:
скопировать код в буфер обмена
  1. $content = file_get_contents('http://bicotone.com.ua/catalog category/17-2011-06-14-14-27-05');
  2. preg_match_all('/[0-9]{4}[\s][0-9]{2,3}+/', $content, $massive);
  3.  
  4. print_r($massive[0]);


А код мне находит 534 значения причем по 5 одинаковых,

Делаю дальше так Тогда правильно показывает.
Удаляет повторяющиеся значения.
Но ведь это дело. Почему стока повторяющихся значения первоночально?
strengerst Отправлено: 29 Июня, 2012 - 10:27:07 • Тема: Как можно реализовать такое • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 73
Ну скидуй йандэкс, как небуть разберусь. Но на пиво перекину
(Добавление)
Спасибо скрипт супер.
strengerst Отправлено: 28 Июня, 2012 - 20:52:56 • Тема: Как можно реализовать такое • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 73
Получилось, ты прав оно не все капирует.
(Добавление)
Смотри я еще зделал так:

PHP:
скопировать код в буфер обмена
  1.  
  2. $li=array();
  3. $content = file_get_contents('http://bicotone.com.ua/catalog/category/18-2011-07-18-19-49-47');
  4. preg_match_all('/[0-9]{4}[\s][0-9]{2,3}+/', $content, $massive);
  5. $l=array_unique($massive[0]);
  6. $ri=count  ($l);
  7. $l=array_values($l);
  8.  

Теперь в массиве $l содержаться все номера продукции идущии друг за другом.
(7931 01, 7931 03); вот но у меня не выходит этими номерами подписать капируемые фотографии. Не подправишь. Что бы номер фото соответствовал номеру прайса.
(Добавление)
Я зделал так.

PHP:
скопировать код в буфер обмена
  1. $li=array();
  2. $content = file_get_contents('http://bicotone.com.ua/catalog/category/18-2011-07-18-19-49-47');
  3. preg_match_all('/[0-9]{4}[\s][0-9]{2,3}+/', $content, $massive);
  4. $l=array_unique($massive[0]);
  5. $ri=count  ($l);
  6. $l=array_values($l);
  7.  
  8. $curl = curl_init();
  9. curl_setopt($curl, CURLOPT_URL, 'http://bicotone.com.ua/catalog/category/18-2011-07-18-19-49-47');
  10. curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  11. curl_setopt($curl, CURLOPT_HEADER, false);
  12. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  13. curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
  14. curl_setopt ($curl, CURLOPT_USERAGENT , $_SERVER['HTTP_USER_AGENT']);
  15. $res = curl_exec($curl);
  16. curl_close($curl);
  17.  
  18. preg_match_all("~<div[\s]+class=\"phocagallery-box-file[\w\W]+<img src=\"([\w\W]+)\"[\w\W]+<\/div>~siU", $res, $math);
  19. $numi=count($math);
  20. for($i=0; $i<$numi;$i++)
  21. { copy('http://bicotone.com.ua/'.ltrim($math[$i], '/'), 'bicoton/'.$l[$i]);
  22.  sleep(5);}

(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?
  2. $li=array();
  3. $content = file_get_contents('http://bicotone.com.ua/catalog/category/18-2011-07-18-19-49-47');
  4. preg_match_all('/[0-9]{4}[\s][0-9]{2,3}+/', $content, $massive);
  5. $l=array_unique($massive[0]);
  6. $ri=count  ($l);
  7. $l=array_values($l);
  8.  
  9. $curl = curl_init();
  10. curl_setopt($curl, CURLOPT_URL, 'http://bicotone.com.ua/catalog/category/18-2011-07-18-19-49-47');
  11. curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  12. curl_setopt($curl, CURLOPT_HEADER, false);
  13. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  14. curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
  15. curl_setopt ($curl, CURLOPT_USERAGENT , $_SERVER['HTTP_USER_AGENT']);
  16. $res = curl_exec($curl);
  17. curl_close($curl);
  18.  
  19. preg_match_all("~<div[\s]+class=\"phocagallery-box-file[\w\W]+<img src=\"([\w\W]+)\"[\w\W]+<\/div>~siU", $res, $math);
  20. $math=array_unique($math[0]);
  21. $numi=count($math);
  22. print_r($numi);
  23. for($i=0; $i<$numi;$i++)
  24. { copy('http://bicotone.com.ua/'.ltrim($math[$i], '/'), 'bicoton/'.$l[$i]."jpg");
  25.  sleep(5);}
  26. ?>
теперь вроде правильно переделал. или нет.
(Добавление)
СКиньте счет для WEBMANI , я обещал с меня пиво (2$); завтра через терминал перекину.
И спасибо за помощь.
strengerst Отправлено: 28 Июня, 2012 - 20:40:35 • Тема: Как можно реализовать такое • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 73
Моя папка для копирования находиться с файлами по адрессу

http://127[dot]0[dot]0[dot]1/magazin/Bicoton/

на вертуальном сервеере, с учетам этого как переписать твой скрипт. А то у меня не получаеться. ошибку выдает.
strengerst Отправлено: 28 Июня, 2012 - 20:14:40 • Тема: Как можно реализовать такое • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 73
Это случайно не Сарказм? ))))))))

Если нет сменя пиво. Точнее 2$ на счет вебмани в течении двух дней)))))))).
strengerst Отправлено: 28 Июня, 2012 - 19:30:43 • Тема: Как можно реализовать такое • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 73
Такой вопрос, как можно загрузить все фотографии по сылочки с другова сайта к себе на сервер, при нажатии кнопочки у себя на сайте загрузить.
Для примера вот сылочка сайта с которого хотелось бы загрузить фото.
[URL="http://bicotone.com.ua/catalog/category/18-2011-07-18-19-49-47"]http://bicotone.com.ua/catalog/category/18-2011-07-18-19-49-47[/URL],
Если кому не тежело приведите пример или сылочку где можно об этом почитать.
strengerst Отправлено: 28 Июня, 2012 - 19:10:52 • Тема: немогу заменить текст. • Форум: Вопросы новичков

Ответов: 9
Просмотров: 272
armancho7777777 пишет:
strengerst пишет:
Наверное вы правы, ну у меня прозьба напишите как правильно, что бы я знал в дальнейшем.

PHP:
скопировать код в буфер обмена
  1. echo preg_replace('/([0-9]{4})([0-9]{2})/','$1 $2', $mas['Modely']);



хочу немного уточнить $1 -относиться к данным в ([0-9]{4});
$2 - ([0-9]{2}; по сути мы находим 6значное число и в строке замены просто ставим между ними пробел. Классно спасибо.
strengerst Отправлено: 28 Июня, 2012 - 18:57:50 • Тема: немогу заменить текст. • Форум: Вопросы новичков

Ответов: 9
Просмотров: 272
EuGen пишет:
PHP:
скопировать код в буфер обмена
  1. $sData   = '837451';
  2. $sResult = substr($sData, 0, 4).' '.substr($sData, -2, 2);

?


Круто так работает, спасибо. А почему с регулярными не получилось интересно?
(Добавление)
armancho7777777 пишет:
strengerst пишет:
$massive=preg_replace('/[0-9]{6}/','/[0-9]{4}[\s][0-9]{2}/', $mas['Modely']);

В этой строке куча ошибок.
У Вас и в первом и во втором передаваемых значениях шаблоны, да ещё и не верные в плане синтаксиса: нет ограничителей.
Ну и Вам EuGen подкинул более оптимальное решение.


Наверное вы правы, ну у меня прозьба напишите как правильно, что бы я знал в дальнейшем.
(Добавление)
armancho7777777 пишет:
strengerst пишет:
$massive=preg_replace('/[0-9]{6}/','/[0-9]{4}[\s][0-9]{2}/', $mas['Modely']);

В этой строке куча ошибок.
У Вас и в первом и во втором передаваемых значениях шаблоны, да ещё и не верные в плане синтаксиса: нет ограничителей.
Ну и Вам EuGen подкинул более оптимальное решение.


Напишите как правильно.
strengerst Отправлено: 28 Июня, 2012 - 18:51:46 • Тема: немогу заменить текст. • Форум: Вопросы новичков

Ответов: 9
Просмотров: 272
armancho7777777 пишет:
strengerst пишет:
а почему мое выражение не работает?

Во первых, потому что если используете шаблоны, то для этого надо использовать preg_replace(), а не str_replace(). Во-вторых, шаблон идёт первым значением, вторым - на что заменяете, и третьим - сама строка.

Я делал так:
PHP:
скопировать код в буфер обмена
  1. $massive=array();
  2. $massive=preg_replace('/[0-9]{6}/','/[0-9]{4}[\s][0-9]{2}/', $mas['Modely']);

где в $mas['Modely'] - содержит цыфры типа: 786541;

Потом вывожу: - а там не то;
(Добавление)
strengerst пишет:
armancho7777777 пишет:
strengerst пишет:
а почему мое выражение не работает?

Во первых, потому что если используете шаблоны, то для этого надо использовать preg_replace(), а не str_replace(). Во-вторых, шаблон идёт первым значением, вторым - на что заменяете, и третьим - сама строка.

Я делал так:
PHP:
скопировать код в буфер обмена
  1. $massive=array();
  2. $massive=preg_replace('/[0-9]{6}/','/[0-9]{4}[\s][0-9]{2}/', $mas['Modely']);

где в $mas['Modely'] - содержит цыфры типа: 786541;

Потом вывожу:
- а там не то; Естествено это все в цикле. кроме:
strengerst Отправлено: 28 Июня, 2012 - 18:09:32 • Тема: немогу заменить текст. • Форум: Вопросы новичков

Ответов: 9
Просмотров: 272
ams пишет:
http://ua.php.net/manual/en/function.number-format.php



Спасибо счас попробую, а почему мое выражение не работает?
(Добавление)
strengerst пишет:
http://ua.php.net/manual/en/function.number-format.php


да нет эта функция не подходит. По ней из числа 652135 не зделает 6521 35
strengerst Отправлено: 28 Июня, 2012 - 17:59:39 • Тема: немогу заменить текст. • Форум: Вопросы новичков

Ответов: 9
Просмотров: 272
Всем привет у меня такая ситуация - Есть массив с данными в котором 6 значные цифры типа (738526), а мне нужно из этих цифр зделать так (7385 26); тоесть, поставить пробел после 4го знака перед 5ым. Я пытался делать так:
PHP:
скопировать код в буфер обмена
  1. $masi=array(); str_replace($mas['Modely'], '/[0-9]{4}[\s][0-9]{2}/',$masi);

где $mas['Modely'] - массив с 6значными цыфрами;
условие замены, и $masi - массив с изменнеными данными; естественно это все в цикле.
Что нет почему не заменяет, или как можно зделать иначе (правильнее); Хм

Страниц (12): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB