PHP.SU

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

Страниц (7): « 1 2 [3] 4 5 6 7 »

> Найдено сообщений: 102
energ Отправлено: 18 Июня, 2012 - 14:36:13 • Тема: Запись Yml файла каталога в базу данных • Форум: Напишите за меня, пожалуйста

Ответов: 1
Просмотров: 40
Добрый день, не могу не как разобраться как парсить yml коталог формата яндекс маркета.

В целом ситуация такая: Есть файл каталог весом около 130 мб, в котором присутсвуют множество категорий, хотелось бы записать его в БД с разделением каждой отдельной категории на таблицу, проблема еще в том что хостинг выделяет под обработку только 67 мб

Как все это сделать покажите код пожалуйста Улыбка
energ Отправлено: 02 Мая, 2012 - 15:22:08 • Тема: Как узнать что файл zip а точнее его формат и... • Форум: Вопросы новичков

Ответов: 7
Просмотров: 491
re_nat пишет:
эм..
PHP:
скопировать код в буфер обмена
  1. $zip=new ZipArchive;
  2. if($zip->open('archiv.zip')===true)
  3. {
  4.      $zip->extractTo('С:\papka_dlia_raspakovky');
  5.      $zip->close();
  6. }
  7. else
  8. {
  9.      DIE('YOU MUST DIE!');
  10. }


Возврат "YOU MUST DIE!"
energ Отправлено: 01 Мая, 2012 - 21:28:13 • Тема: Как узнать что файл zip а точнее его формат и... • Форум: Вопросы новичков

Ответов: 7
Просмотров: 491
Okula пишет:
Как минимум проверить расширение файла, после этого поробовать открыть его как архив, через библиотеку ZipArchive. Если во время открытия возникнет ошибка выбросить исключение.
Okula пишет:


Можно код к примеру, я все такие не мастер в этом =)
(Добавление)
re_nat пишет:
HP:
скопировать код в буфер обмена
$inf=pathinfo($file);
if($inf['extension']==='zip')
{
блаблабла
}
#$inf['extension'] - ни что иное как строка, содержащая расширение файла
 



Окей, а продолжение? При выполнении условия как начать распаковку? Можно код на извлечение во временную папку?
(Добавление)
Пока помскал по гуглу яндекску, честно примеры не совсем те, нужно что то простое что просто распакует файл zip в папку и все
energ Отправлено: 28 Апреля, 2012 - 23:26:07 • Тема: Как узнать что файл zip а точнее его формат и... • Форум: Вопросы новичков

Ответов: 7
Просмотров: 491
Если файл zip то распаковать его, можно в отдельную папку, после взять файл из этой папки и дальше работать с ним после завершения удалить временную папку с файлом, и соответственно если файл не zip то сразу работать с файлом
energ Отправлено: 25 Апреля, 2012 - 20:29:54 • Тема: Как лучше всего сделать удаление нескольких ненужных символов из строки? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 542
snikers987 пишет:
energ задайте $iMax = 6; ключи массива начинаются с нуля. 0-7 это восемь элементов.


Вообще я как посмотрел вроде лишние слова вообще не удаляются, как было больше 7 так и осталось, скину весь код целиком может вы разберетесь в этом

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?
  4. function funct($string){
  5. $sData= file_get_contents($string);
  6.  
  7. preg_match_all('/\<name[^\>]*\>(.*)\<\/name\>/Usmi', $sData, $rgMatches);
  8.  
  9. unset ($rgMatches[1][0]);
  10.  
  11. echo count($rgMatches[1]).'<br>';
  12.  
  13. foreach ($rgMatches[1]  as $key => $value) {
  14. echo "<b>".str_de_simvol ($value)."</b><br>";
  15. }
  16.  
  17. }
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25. function str_de_simvol ($string){
  26.  
  27. $string= str_replace(array('<','[CDATA[',']]>','+',':', '(', ')', '/', '"', "'"), '', $string);
  28.  
  29. $string= str_replace(array('-','.'), ' ', $string);
  30.  
  31. $iMax  = 5;
  32.  
  33. return $sData = join(' ', preg_split('/[\s\.\!\:\?]+/', $string, $iMax, PREG_SPLIT_NO_EMPTY));
  34.  
  35.  
  36. }
  37.  
  38. ?>
  39.  
  40.  
energ Отправлено: 25 Апреля, 2012 - 14:41:29 • Тема: Как лучше всего сделать удаление нескольких ненужных символов из строки? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 542
EuGen пишет:
energ
Тогда нужно перечислять такие символы. Например:
PHP:
скопировать код в буфер обмена
  1. $iMax  = 7;
  2. $sData = join(' ', preg_split('/[\s\.\!\:\?]+/', $sData, $iMax, PREG_SPLIT_NO_EMPTY));


Остается 8 слов в некоторых строках, общий вид: слово слово слово.слово слово-слово слово слово

Не пойму где в функции надо вписывать эти символы?
(Добавление)
Хотя понял если еще одним реплейсом заменить точки и тире пробелами то может получиться, но это изменит общий вид.

Сделал так все равно остаются строки по 8 слов, слова кстати некоторые в верхнем регстроре, некоторые в нижнем и некоторые комбинированные.
energ Отправлено: 25 Апреля, 2012 - 14:35:28 • Тема: Как лучше всего сделать удаление нескольких ненужных символов из строки? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 542
EuGen пишет:
energ
PHP:
скопировать код в буфер обмена
  1. $iMax  = 7;
  2. $sData = join(' ', array_slice(preg_split('/\s+/', $sData, -1, PREG_SPLIT_NO_EMPTY), 0, $iMax));

?



Слова написанные через тире и через точку т.е. василий-пупки андрей.дмитреев тоже считаются как 2 отдельных слова
energ Отправлено: 25 Апреля, 2012 - 14:21:05 • Тема: Как лучше всего сделать удаление нескольких ненужных символов из строки? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 542
Не буду создавать отдельную тему, еще есть вопрос, как последние слова из строки удалить, так чтобы осталось не больше 7 слов
(Добавление)
EuGen пишет:
energ
PHP:
скопировать код в буфер обмена
  1. $sData=str_replace(array(':', '(', ')', '/', '"', "'"), '', $sData);

?


Двойные в таком случае не удаляет
energ Отправлено: 25 Апреля, 2012 - 14:18:13 • Тема: Как лучше всего сделать удаление нескольких ненужных символов из строки? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 542
EuGen пишет:
$sData=str_replace(array(':', '(', ')', '/'), '', $sData);


snikers987 пишет:
cho str_replace(array(':', ';', '&'), array(''), $sString);


О, отлично придумали ))

Кстати еще вопрос встал как удалить при этой функции двойные кавычки из строки, ну впрочем ка ки одинарные
energ Отправлено: 25 Апреля, 2012 - 14:11:13 • Тема: Как лучше всего сделать удаление нескольких ненужных символов из строки? • Форум: Вопросы новичков

Ответов: 12
Просмотров: 542
Я обычно делаю через многослойный реплейс но как видно это неудобно, некрасиво, да и наверно ресурсы лишние забирает как и время тратит

Посоветуйте более качественным способ удаления лишних символов
energ Отправлено: 25 Апреля, 2012 - 13:52:54 • Тема: Вырезать подстроку из тегов • Форум: Напишите за меня, пожалуйста

Ответов: 13
Просмотров: 114
А как вообще это вырезание лишних элементов делаться?

Можно простой пример с описанием?
energ Отправлено: 19 Апреля, 2012 - 16:20:47 • Тема: Вырезать подстроку из тегов • Форум: Напишите за меня, пожалуйста

Ответов: 13
Просмотров: 114
EuGen пишет:
energ
Работать будет на php 5.3+

У нас на хостинге 5.2.17 и php 5.3 говорят еще не скоро ставить будут.....
energ Отправлено: 19 Апреля, 2012 - 14:36:26 • Тема: Вырезать подстроку из тегов • Форум: Напишите за меня, пожалуйста

Ответов: 13
Просмотров: 114
[quote=snikers987][/quote] Если знаешь как эффективнее - поделись, напиши свой вариант как оно должно быть
(Добавление)
EuGen пишет:
PHP:
скопировать код в буфер обмена
  1. $iLength=7;
  2. preg_match_all('/\<name[^\>]*\>(.*)\<\/name\>/Usmi', file_get_contents('url'), $rgMatches);
  3. $rgMatches[1]=array_map(function($mValue) use ($iLength)
  4. {
  5.    $rgTemp=array_map(function($sValue) use ($iLength)
  6.    {
  7.       return substr($sValue, 0, $iLength);
  8.    }, preg_split('/\s+/', preg_replace('/[\'\"\+,]/', '', $mValue), -1, PREG_SPLIT_NO_EMPTY));
  9.    return join(' ', $rgTemp);
  10. }, $rgMatches[1]);
  11. echo(join(" ", $rgMatches[1]));

?


тут какая то ошибка в синтаксисе в строке "$rgMatches[1]=array_map(function($mValue) use ($iLength)"
energ Отправлено: 19 Апреля, 2012 - 13:25:02 • Тема: Вырезать подстроку из тегов • Форум: Напишите за меня, пожалуйста

Ответов: 13
Просмотров: 114
Как я понил тутнужно 2 условия с регулярками, и при их выполнении использовать еще 2 регулярки, но только я вообще не понимаю как пользоваться этими регулярками.....
energ Отправлено: 18 Апреля, 2012 - 19:03:17 • Тема: Вырезать подстроку из тегов • Форум: Напишите за меня, пожалуйста

Ответов: 13
Просмотров: 114
EuGen пишет:
energ
$sData - это Ваш текст (в данном случае содержащий xml). Можете получить его, например, через file_get_contents


ОО все получилось! )) спасибо! )) В итоге скрипт получился такого вида:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.  
  4.  
  5. $sData= file_get_contents('url');
  6.  
  7. preg_match_all('/\<name[^\>]*\>(.*)\<\/name\>/Usmi', $sData, $rgMatches);
  8.  
  9.  
  10.  
  11.  
  12. foreach ($rgMatches[1]  as $key => $value) {
  13. echo "<b>$value $key</b><br>";
  14. }
  15.  
  16.  
  17. ?>
  18.  
  19.  

(Добавление)
В целом стала еще одна проблема - фразы которые выводятся из названий, нужно чтобы они были не более 7 символов, если их больше то последние слова должны отразиться и выводиться только первые 7.

Словами могут считаться даже просто цифры или знаки даже если они имеют всего 1 символ
(Добавление)
еще бы не плохо если бы из строк вырезались кавычки - как двойные там одинарные, знаки плюсов и запятые, кончено вырезаться они должны до того как начнется проверка на количество слов в строке
(Добавление)
При том если в фразе есть такая конструкция слово-слово или слово-цыфра то это считается за 1 слово и тире тут конечно вырезать не надо, а вот скобки как раз таки не нужны

Страниц (7): « 1 2 [3] 4 5 6 7 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB