Информация

Обсуждало 4 человека

Извлечение текста из-под тегов

Логика и программирование
15 августа 2011 в 12:16:19

Заинтересовал такой вопрос.. Есть флэш-приложение, туда вводится адрес любой странички в инете. Флэшка возвращает текст, который находится между <title> и </title> на этой страничке. Понятно, что на чистом ас такого не реализовать, поэтому никто не подскажет, как это сделать в связке с пхп?

Обсуждение (вниз)

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

25 сентября 2011 в 17:41:17

Не дождешься, я Машку никогда в обиду не дам, а если и бью - то только любя. Потом извиняюсь, дарю цветы и пью с ней водку

25 сентября 2011 в 17:38:04

эх жаль что ты его не сломал...=/

25 сентября 2011 в 17:33:36

А насчет переменной adres - видать с флэшем какой-то у меня глюк был, сейчас все нормально

25 сентября 2011 в 17:29:23

:D

25 сентября 2011 в 16:43:59

Ее, ты гений!!!)
Правда, пока заставил работать этот способ под мою дудочку - чуть не сломал бук посредством его непосредственного контакта со стенкой )

25 сентября 2011 в 16:22:55

$page это $d которая

25 сентября 2011 в 16:22:18

Может так:
if($page.split('utf-8').length>1 || $page.split('utf8').length>1){ trace('Это скорее всего utf'); } else { trace('Это скорее всего не utf'); }

25 сентября 2011 в 12:42:54

Пытался определить кодировку страницы своим быдлокодом, получилось очень мерзко и долго (

25 сентября 2011 в 12:31:50

Вобшем, если использовать
System.useCodepage = false;

То текст нормально отображается при windows-1251 кодировке, например. А если кодировка utf-8, то вобще жесть что там отображается)

25 сентября 2011 в 12:25:02

Тогда если кодировка сайта утф-8, то вобще хер пойми что выводится)

25 сентября 2011 в 12:12:38

а если тру поставить? хД

25 сентября 2011 в 12:00:38

System.useCodepage = false;

Использовал вот эту функцию, все равно одни квадраты вместо текста выводятся

24 сентября 2011 в 23:14:59

Жесть)

24 сентября 2011 в 23:14:23

Кодировка сайта в utf должна быть, иначе через сервер перекодировать iconv-ом например, или искать на as2 перекодировщик..

24 сентября 2011 в 23:10:41

во флеше есть функция юзать кодировку какюуто блин забыл ведь useSystemCoding = true типа того и он вместо ютф8 будет обычную юзать

24 сентября 2011 в 23:06:50

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

24 сентября 2011 в 21:34:46

Да-да-да!!! Спасибо, Алекс, очень помог)

24 сентября 2011 в 15:20:16

чё то я в этом лапух)

24 сентября 2011 в 14:01:54

var ldr:LoadVars = new LoadVars(); ldr.onData = function($d) { trace($d); } ldr.load('http://fundux.ru', 'GET');

Попробуй так

24 сентября 2011 в 13:52:50

Огромная просьба к шарящим людям) объясните, почему вот этот код:
var ldr:LoadVars = new LoadVars(); ldr.onLoad = function(success:Boolean):Void { if (success == true) { var result:String = unescape(ldr.toString()); } } ldr.load('http://fundux.ru', 'GET');

Почему в переменную result записывается не весь исходник странички?

15 августа 2011 в 14:50:29

Так и есть, так и есть))

15 августа 2011 в 14:45:18

Я уже предвкушаю крутость этой проги :) если она конечно же не на целена на только получение текста из title, я думаю ты просто застрял на этой этапе и попросил помощи :)

15 августа 2011 в 14:42:53

В знак благодарности я обязательно поделюсь с вами прогой, которая скоро будет готова, уверен она будет вам интересна ;)

15 августа 2011 в 13:58:25

всегда пожалуйста :)

15 августа 2011 в 13:41:29

Вобще от души ребят, спасибо большое)

15 августа 2011 в 13:36:08

GothX, тернарный оператор, заменяет блок-условия if-else. Я это задавал, чтобы проверить, найдена ли подстрока в строке, и в зависимости от результата меняю при необходимости значение индекса ;)

15 августа 2011 в 13:34:29

var ldr:LoadVars = new LoadVars(); переменная загрузчик которая служит для запроса

var result:String = unescape(ldr.toString()); а здесь мы получаем ответ от сервера тоесть html код страницы, в нем есть все в том числе и <title>

15 августа 2011 в 13:33:21

Dracyla, о, спасибо, сейчас буду пробовать..

15 августа 2011 в 13:32:10

Dracyla,
Можешь объяснить вот эти строки:
startIndex = (startIndex == -1) ? 0 : (startIndex + startStr.length); endIndex = (endIndex == -1) ? (txt.length - 1) : endIndex;

trace(getTextNearStrings('<title>test me</title>', '<title>', '</title>')); - ну а главный-то вопрос у меня, как получить <title>TEXT</title> с удаленного сайта, вытащить оттуда текст я и с помощью substr, например, могу))

Maldan, хороший сервер с пхп у меня имеется, обижаешь))

15 августа 2011 в 13:28:29

и в связке с загрузчиком:

var ldr:LoadVars = new LoadVars(); ldr.onLoad = function(success:Boolean):Void { if (success == true) { var result:String = unescape(ldr.toString()); var title:String = getTextNearStrings(result, '<title>', '</title>'); trace('ok, title: ' + title); } else { trace('error!'); } } ldr.load('http://fundux.ru', 'GET');

15 августа 2011 в 13:24:07

ну то что использовать пхп это уже труднее, во первых нужен сервер с пхп, во вторых это лишняя нагрузка на сервер, сделать можно и на АС2, но я точно не помню как на АС2 это делать, я помню на АС2 делал запрос в страницу, а патом загружал переменные, но можно переменные не разгружать а загрузить всю страницу, а дальше строковыми операциями вырезал что надо и все.

15 августа 2011 в 13:22:23

function getTextNearStrings(txt:String, startStr:String, endStr:String):String { var startIndex:Number = txt.indexOf(startStr); startIndex = (startIndex == -1) ? 0 : (startIndex + startStr.length); var endIndex:Number = txt.indexOf(endStr); endIndex = (endIndex == -1) ? (txt.length - 1) : endIndex; return txt.slice(startIndex, endIndex); } trace(getTextNearStrings('<title>test me</title>', '<title>', '</title>'));

15 августа 2011 в 13:04:10

Мне просто почему-то кажется, что средствами пхп это легче сделать, но могу и ошибаться

15 августа 2011 в 13:00:43

А поподробнее можно? Если что, АС2 ))

15 августа 2011 в 12:56:04

это еще почему не реализовать??? загружаешь в память ту страницу которую пропечатал и патом тупа парсишь ее
Fundux.ru v.3.0 © 2006-2021 AleXNoD
Портал русских флеш игр и flash мультов