Перейти к содержимому


Публикации Marid

8 публикаций создано Marid (учитываются публикации только с 19-Апрель 23)


#28457 Взятие текста с сайта через внешнюю форму

Отправлено от Marid в 17 Июнь 2015 - 00:04 in Как это сделать

Просмотр сообщенияmaksn (16 Июнь 2015 - 17:03) писал:

Благодарю!



#28448 Взятие текста с сайта через внешнюю форму

Отправлено от Marid в 16 Июнь 2015 - 14:13 in Как это сделать

Просмотр сообщенияCbCoder (15 Июнь 2015 - 09:08) писал:

Погодите, а что у вас в PHP делает функция из jQuery? Вообще-то, jQuery - это библиотека для JS, а не для PHP. Разумеется будет ошибка синтаксиса.

Понял, благодарю. Тогда как именно стоит реализовывать парсинг? как реализовать то же самое средствами php? Если можно, то на примере кода)



#28422 Взятие текста с сайта через внешнюю форму

Отправлено от Marid в 14 Июнь 2015 - 22:25 in Как это сделать

Просмотр сообщенияCbCoder (13 Июнь 2015 - 15:50) писал:

А в каком именно месте то не работает? В переменной $text есть что-нибудь? Если нет, то значит ошибка считывания, смотрите curl_error.

Изменил строку, убрал внешние скобки:

preg_match $('#column_right h1').text() , $text , $links ; // $('#column_right h1').text() - парсинг указанной ранее страницы. (нахождение нужного текста).

выдает ошибку: 39: // Находим и сохраняем нужный фрагмент

40:preg_match $('#column_right h1').text() , $text , $links ; // $('#column_right h1').text() - парсинг указанной ранее страницы. (нахождение нужного текста)
41:

syntax error, unexpected '$'

Что надо сделать, чтобы исправить?


по поводу переменной $text, дописал строку $text=''; - не ругается. но, как видно, дело не в ней



#28420 Взятие текста с сайта через внешнюю форму

Отправлено от Marid в 12 Июнь 2015 - 23:22 in Как это сделать

Просмотр сообщенияCbCoder (12 Июнь 2015 - 13:50) писал:

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

Благодарю за то, что указали направление в котором стоит двигаться. Так вот, решил попробовать реализовать через curl, почитав форумы и манулы, решил взять за основу следующий код:
// Инициализируем курл
$ch = curl_init('адрес страницы донора');

// Параметры курла
curl_setopt($ch, CURLOPT_USERAGENT, 'IE20');
curl_setopt($ch, CURLOPT_HEADER, 0);
// Следующая опция необходима для того, чтобы функция curl_exec() возвращала значение а не выводила содержимое переменной на экран
curl_setopt($ch, CURLOPT_RETURNTRANSFER, '1');

// Получаем html
$text = curl_exec($ch);

// Отключаемся
curl_close($ch);

// Находим и сохраняем нужный фрагмент
preg_match( '/<ul><li>(.*?)<\/li><\/ul>/is' , $text , $links );

// Выводим результат на экран
echo $links[0];

Путем рассуждений (неосложненных опытом и знаниями) у меня получился следующий код, но он не работает((( Прошу помощи, где моя ошибка, как сделать, чтобы работало?:


// // Инициализируем курл
$ch = curl_init('http://www.gutewetter.ru/catalogue/dushevye-ograzhdeniya/'); сайт с которого требуется взять текст

// Параметры курла
curl_setopt($ch, CURLOPT_USERAGENT, 'IE20');
curl_setopt($ch, CURLOPT_HEADER, 0);
// Следующая опция необходима для того, чтобы функция curl_exec() возвращала значение а не выводила содержимое переменной на экран
curl_setopt($ch, CURLOPT_RETURNTRANSFER, '1');

// Получаем html
$text = curl_exec($ch);

// Отключаемся
curl_close($ch);

// Находим и сохраняем нужный фрагмент
preg_match( $('#column_right h1').text() , $text , $links ); \\ $('#column_right h1').text() - парсинг указанной ранее страницы. (нахождение нужного текста)

// Заносим результат в переменную из КБ

$line['ТЕСТ']=$text; //строка из таблицы, к которой применяется данное вычисление. Ее я использую для отладки полученного результата.



#28409 Взятие текста с сайта через внешнюю форму

Отправлено от Marid в 12 Июнь 2015 - 01:44 in Как это сделать

Добрый день, имеется внешняя форма к таблице. хочется сделать так, чтобы при вставке в поле ссылки на сайт, дальнейшие поля отсортировывались в зависимости от текста, который находится на странице ссылки. Например, с помощью данного кода находится нужный текст на сайте: $('#column_right h1').text().

Как сделать так, чтобы Клиентская база через внешнюю форму проходила по введенному адресу и применяла данный код?

Заранее спасибо. Возможно ли это?



#28174 Автоматические заполнение полей внешней формы

Отправлено от Marid в 18 Май 2015 - 19:00 in Как это сделать

Просмотр сообщенияCbCoder (18 Май 2015 - 18:01) писал:

Не в курсе честно говоря, я более-менее могу подсказать по JS во внутренних формах, а во внешних я не силен. Разве что меня лично смущает, что у вас одна функция помещена в другую.

При запуске, он все-таки пишет, что addhandler не поддерживается, получается, что обе функции все-таки срабатывают, но останавливаются на этом addhandler. Т.е запускается функция runMultiple(), проходит время "1000", и затем выполняет onchange_5301() с ошибкой. Если я не ошибаюсь))
А что вы могли бы порекомендовать для решение данной задачи? Возможно, вы знаете какого-либо пользователя, кто может подсказать в этом вопросе? Спасибо



#28172 Автоматические заполнение полей внешней формы

Отправлено от Marid в 18 Май 2015 - 16:53 in Как это сделать

Просмотр сообщенияCbCoder (18 Май 2015 - 12:28) писал:

Вы же сами вроде ответили уже на свой вопрос:

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



#28152 Автоматические заполнение полей внешней формы

Отправлено от Marid в 15 Май 2015 - 20:15 in Как это сделать

Здравствуйте, дорогие форумчане! Недавно загорелся идеей, начальство дало задачу, сделать автозаполнение полей внешней формы, на основании предыдущих заполнений ячеек. Подскажите, пожалуйста, где ошибка или почему не работает?

Существуют таблицы "Складской заказ", "Заказы" и связанная с ней подтаблица "Формирование заказа", в которой происходит добавление позиций.

В таблице "формирование заказа" есть поля "Артикул (название)" - тип связь (с таблицей "складской запас") и "ручка" - тип текст, в которую вычислением подставляется значение на основании данных поля " Артикул (название)". Все работает, когда я добавляю новую строку в подтаблицу "Формирование заказа" через таблицу "Заказы".

Когда же я пытаюсь добавить новую строку через внешнюю форму, то при заполнении поля "Артикул (название)" поле "ручка" автоматически не заполняется, а предлагает набор значений (в соответствии с данными поля "Артикул (название)") на выбор.


Хочу сделать так, чтобы при внесения значения в поле "Артикул (название)" поле "ручка" заполнялось автоматически.

Не работает

function runMultiple()
{
var value = document.getElementsByName('Ручка');
function onchange_5301() // изменение поля с id 5301, то есть поля "Артикул (название) таблицы "Формирование заказа (gutewetter)
{
$line['Ручка'] = $line['Артикул (название)']['Ручка']; // думаю, что эта строчка не работает
}
addHandler(value, 'onclick',onchange_5301); // тут выпадает ошибка, что addHandler не поддерживается внешней формой

}
var timerMulti = window.setInterval("runMultiple();", 1000); // таймер на выполнение функции, чтобы она выполнялась до нажатия кнопки отправки внешней формы