PHP.SU

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

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

> Найдено сообщений: 9
billybons2006 Отправлено: 20 Марта, 2015 - 16:36:31 • Тема: Как с помощью метода задать значение переменной • Форум: Объектно-ориентированное программирование

Ответов: 4
Просмотров: 1188
DelphinPRO, спасибо за ответ. Я еще функциями живу, вот и терминология у меня не правильная.
billybons2006 Отправлено: 20 Марта, 2015 - 15:43:42 • Тема: Как с помощью метода задать значение переменной • Форум: Объектно-ориентированное программирование

Ответов: 4
Просмотров: 1188
Класс:
PHP:
скопировать код в буфер обмена
  1.  
  2. class Comment
  3. {      
  4.   public $name = "Name";
  5.  
  6.   public function getName() {
  7.     return $this->name;
  8.   }
  9.  
  10.   public function setName($var) {
  11.     $this->name = sanitize($var);
  12.   }
  13.  
  14. public function sanitize($str) {
  15.     $str = trim($str);
  16.     $str = nl2br($str);
  17.     return $str;
  18.   }
  19. }
  20.  


Я хочу изменить переменной $name значение.

Вот так работает:
PHP:
скопировать код в буфер обмена
  1.  
  2. $comment = new Comment();
  3. $comment->name = "Bla bla bla";
  4.  


И вот так работает:
PHP:
скопировать код в буфер обмена
  1.  
  2. public function setName($var) {
  3.     $this->name =$var;
  4.   }
  5.  
  6.  
  7. $comment = new Comment();
  8. $comment->setName("Bla bla bla");
  9.  


Не пойму, почему не работает вариант с:
PHP:
скопировать код в буфер обмена
  1.  
  2. public function setName($var) {
  3.     $this->name = sanitize($var);
  4.   }
  5.  


?
(Добавление)
Мне подсказали - надо static для sanitize поставить.
billybons2006 Отправлено: 17 Июля, 2013 - 15:43:43 • Тема: Назначение файлов XML внутри контейнера XLSX • Форум: XML и его обработка

Ответов: 0
Просмотров: 3122
Возникла задача парсить XLSX-файлы, которые содержат описания товаров, цены и изображения.

Вар.1: сохраняю как текстовый файл, его парсю на ура... Картинки в пролете ((((
Вар.2: сторонние парсеры - картинки они не грабят, к сожалению.
Вар.3: старый добрый хендмейд... Чтоб его... Но интересно! Пока...

Извлек я файлы из xlsx-файла. Вроде все просто, xml. Я тут набросал для себя заметки, что там к чему, но вопросов много.

Спойлер (Отобразить)


Собственно, не хотелось бы задавать вопросы типа "а как, а что".

Главный вопрос: где можно достаточно внятно почитать про это на русском?
Второй вопрос: есть ли парсеры для интернет-магазина, чтобы картинки из xlsx извлекали? Я уверен, что есть, но что-то не нашел. Текст только...
billybons2006 Отправлено: 15 Июля, 2013 - 15:59:55 • Тема: Разбор текстового файла в массив переменных • Форум: Вопросы новичков

Ответов: 8
Просмотров: 468
Спасибо за участие, дальше я сам. Не могу кликнуть спасибо-кнопку, примите устно )
billybons2006 Отправлено: 15 Июля, 2013 - 15:27:26 • Тема: Разбор текстового файла в массив переменных • Форум: Вопросы новичков

Ответов: 8
Просмотров: 468
Я сильно рискую, но что ж темнить, редко встречаюсь с регулярками ((

# - начало строки.
\d+ - целое число
- пробел
# - конец строки
s - ???
(Добавление)
LIME, я благодарен за ответ и коммент! Коммент я видел, поэтому и не понял, почему разделитель именно "цифра и пробел", когда после пробела еще и заголовок идет, а собств. текст с новой строки.
billybons2006 Отправлено: 15 Июля, 2013 - 15:19:57 • Тема: Разбор текстового файла в массив переменных • Форум: Вопросы новичков

Ответов: 8
Просмотров: 468
Если я правильно понимаю, эта штука должна считать строку вида
"<число><пробел><текст>"
в качестве разделителя. Так?
billybons2006 Отправлено: 15 Июля, 2013 - 15:06:37 • Тема: Разбор текстового файла в массив переменных • Форум: Вопросы новичков

Ответов: 8
Просмотров: 468
А не так (перед s поставил '\'):
billybons2006 Отправлено: 15 Июля, 2013 - 14:46:13 • Тема: Как по условию подсвечивать строки в Таблице??? • Форум: Хранение данных, их вывод и обработка

Ответов: 4
Просмотров: 1609
Иногда для отладки проще не класс указывать, а просто стиль css:

PHP:
скопировать код в буфер обмена
  1.  
  2. /* Цикл вывода данных из базы конкретных полей */
  3. while ($row = mysql_fetch_array($res1)) {
  4. $class = ($row['statrem'] === 'в работе') ? 'style="background: red;"' :'';
  5. echo "<tr $class>\n";
  6. echo "<td >".$row['id']."</td>\n";
  7. echo "<td>".$row['mag']."</td>\n";
  8. echo "<td>".$row['addres']."</td>\n";
  9. echo "<td>".$row['prn']."</td>\n";
  10. echo "<td>".$row['inv_n']."</td>\n";
  11. echo "<td>".$row['sn']."</td>\n";
  12. echo "<td>".$row['zak_n']."</td>\n";
  13. echo "<td>".$row['date_zak']."</td>\n";
  14. echo "<td>".$row['statrem']."</td>\n";
  15. echo "<td>".$row['problem']."</td>\n";
  16. echo "<td>".$row['comment']."</td>\n</tr>\n";
  17. }
  18.  


Также, посмотрите код html, который генерит скрипт. Что там?
(Добавление)
Еще может быть, из-за русских символов в сравнении ($row['statrem'] === 'в работе'). Не факт, но может быть.
billybons2006 Отправлено: 15 Июля, 2013 - 13:55:17 • Тема: Разбор текстового файла в массив переменных • Форум: Вопросы новичков

Ответов: 8
Просмотров: 468
Есть текстовый файл с подобным содержимым:

1 Тема1

Текст ываы ваываываы
ываы
ыаыаываы ываыаыа ыа
ы34 кываыв

2 Тема ываыва ыв ыва 2

Текст ываы ваываываы ываы ыаыаываы ываыаыа ыа
ы34 кываыв. РОпвап оыва...

Я хочу считать файл чтобы записать в базу данных.

Если построчно считывать, то как-то так:

PHP:
скопировать код в буфер обмена
  1.  
  2. $file = fopen('q.txt');
  3.  
  4. while(!feof($file)){
  5. $str = trim(fgets($file));
  6. if(empty($str)) continue;
  7.  
  8. if(preg_match('/^([0-9\.]+)(\*)?\s(.+)$/', $str, $matches)){
  9.  
  10. $matches[1];//номер вопроса/ответа
  11. $matches[2];//если = *, ответ верный
  12. $matches[3];//вопрос/ответ
  13.  
  14. }
  15.  
  16. }
  17. fclose('q.txt');
  18.  


Вопрос в том, что содержимое текста не в той же строке, что и номер и тема. Т.е. мне считывать файл построчно, пока не встречу новую строку формата "цифра текст". Я ужасно не хочу изобретать велосипед... Я их нагородил уже столько... Знаете какое-нибудь стандартное решение?

(Добавление)
Под велосипедом я подразумеваю нечто такое:

PHP:
скопировать код в буфер обмена
  1.  
  2. // массив с результатами
  3. $num[]= "";
  4. $head[]= "";
  5. $body[]= "";
  6.  
  7. $i = 0; // индекс
  8.  
  9. $file = fopen('q.txt');
  10.  
  11. while(!feof($file)){
  12.         $str = trim(fgets($file));
  13.        
  14.         if(empty($str)) continue;
  15.  
  16.         if(preg_match('/^([0-9\.]+)\t(.+)$/', $str, $matches)){
  17.                 $i=$i+1;
  18.                 $num[$i]=$matches[1];//номер записи
  19.                 $head[$i]=$matches[2];//заголовок записи               
  20.         } else $body[$i] .= $str;
  21.        
  22. }
  23. fclose('q.txt');
  24.  

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB