Архив эхоконференции RU.PHP.CHAINIK сообщение #423

- RU.PHP.CHAINIK --------------------------------------------- RU.PHP.CHAINIK -
 Msg  : #448 [517]
 От   : Bayandin Peter                2:4600/108.31       17 августа 03, 22:21
 Кому : Alexander Bobrovsky                               17 августа 03, 23:41
 Тема : Re: distant page
-------------------------------------------------------------------------------
Hi Alexander Bobrovsky, hope you are having a nice day

11-Aug-03 10:52:33, Alexander Bobrovsky wrote to Bayandin Peter
          Subject: Re: distant page


 >> Если даже заменить src и href то вроде еще более-менее, но ведь
 >> есть еще javasript и css, которые могут ошибиться с выбором
 >> обрабатываемого элемента...

 AB> Я делал нечто подобное следующим образом.

 AB> 1. Считываешь оригинальную страницу. Раньше я делал это просто
 AB> функцией file, но сейчас переделал через сокеты с помощью
 AB> протокола HTTP, чтобы можно было передавать и POST-параметры
 AB> (например, для работы со страницами с формами).

 AB> 2. Hекоторая обработка - например, вырезать комментарии, скрипты и
 AB> т.п.
хм.. и банеры ;)

 AB> 3. Дальше идет такой кусок:

 AB> $html =
 AB> preg_replace("/(<(?:a|area)\s+.*?href=)(.*?)(\s+.*?>|>)/eis",
 AB> "store_reference(\"\$1\", \"\$2\", \"\$3\", 0)", $html); $html =
 AB> preg_replace("/(<(?:frame|iframe|layer)\s+.*?src=)(.*?)(\s+.*?>|>)/
 AB> eis", "store_reference(\"\$1\", \"\$2\", \"\$3\", 0)", $html);

 AB> и т.д. для тэгов img, link, body, td, form, ...
а почему просто не сосредоточиться на параметрах и заменять сразу
src, href и т.п. на правильный абсолютный адресс?

 AB> (Прошу ногами не бить, регулярные выражения пишу, как могу - не
 AB> очень красиво, но главное, что работает.)
да ладно уж :)


 AB> 4. Результат замены отсылается клиенту.

 AB> 5. Функция store_reference получает оригинальную ссылочку,
 AB> сохраняет ее в БД и присваивает ей некий уникальный код, которым
 AB> заменяет оригинальную ссылку и возвращает таким образом
 AB> модифицированный тэг для вставки в оригинальный документ.

 AB> 6. Когда пользователь кликнет по какой-то модифицированной ссылке,
 AB> скрипт для просмотра страниц получает как параметр (или каким-либо
 AB> другим способом) тот самый уникальный код, на его основании из БД
 AB> извлекает оригинальный url и вся операция повторяется уже с новой
 AB> страницей.
блин, ну за чем такие сложности? почему просто не встроить ссылку прямо
в хтмл или на худой конец в джава-скрипт?

 AB> Работающую систему можешь посмотреть по адресу
 AB> http://www.broadgate.cz/anonymne/anonymne.html Конечно, еще очень
 AB> далеко от совершенства (например, не обрабатываюся java-скрипты, в
 AB> некоторых случаях теряется оформление и т.п.), но в первом
 AB> приближении работает сносно. Пиши, если хорошо попросишь ;-),
 AB> скину и исходники.
интересно конечно было бы посмотреть, ибо в сокетах я пока совсем
никакой :(
Кстати, а сколько времени в среднем занимает обработка одной странички?




 -=> Yours sincerely, Bayandin Peter <=-
--- Terminate 5.00/Pro Mode, Challenge Pro Mode...
 * Origin: The Game is Over! Thanks for Playing! (2:4600/108.31)


[← назад]
Другие эхоконференции сети Фидо[вперёд →]
[-10]
[-100]
[400] [401] [402] [403] [404] [405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440] [441] [442] [443] [444] [445] [446] [447] [448] [449] [450] [451] [452] [453] [454] [455] [456] [457] [458] [459] [460] [461] [462] [463] [464] [465] [466] [467] [468] [469] [470] [471] [472] [473] [474] [475] [476] [477] [478] [479] [480] [481] [482] [483] [484] [485] [486] [487] [488] [489] [490] [491] [492] [493] [494] [495] [496] [497] [498] [499] [500] [501] [502] [503] [504] [505] [506] [507] [508] [509] [510] [511] [512] [513] [514] [515] [516] [517] [518] [519] [520] [521] [522] [523] [524] [525] [526] [527] [528] [529] [530] [531] [532] [533] [534] [535] [536] [537] [538] [539] [540] [541] [542] [543] [544] [545] [546] [547] [548] [549] [550] [551] [552] [553] [554] [555] [556] [557] [558] [559] [560] [561] [562] [563] [564] [565] [566] [567] [568] [569] [570] [571] [572] [573] [574] [575] [576] [577] [578] [579] [580] [581] [582] [583] [584] [585] [586] [587] [588] [589] [590] [591] [592] [593] [594] [595] [596] [597] [598] [599] [600] [601] [602] [603] [604] [605] [606] [607] [608] [609] [610] [611] [612] [613] [614] [615] [616] [617] [618] [619] [620] [621] [622] [623] [624] [625] [626] [627] [628] [629] [630] [631] [632] [633] [634] [635] [636] [637] [638] [639] [640] [641] [642] [643] [644] [645] [646] [647] [648] [649] [650] [651] [652] [653] [654] [655] [656] [657] [658] [659] [660] [661] [662] [663] [664] [665] [666] [667] [668] [669] [670] [671] [672] [673] [674] [675] [676] [677] [678] [679] [680] [681] [682] [683] [684] [685] [686] [687] [688] [689] [690] [691] [692] [693] [694] [695] [696] [697] [698] [699] [700] [701] [702] [703] [704] [705] [706] [707] [708] [709] [710] [711] [712] [713] [714] [715] [716] [717] [718] [719] [720] [721] [722] [723] [724] [725] [726] [727] [728] [729] [730] [731] [732] [733] [734] [735] [736] [737] [738] [739] [740] [741] [742] [743] [744] [745] [746] [747] [748] [749] [750] [751] [752] [753] [754] [755] [756] [757] [758] [759] [760] [761] [762] [763] [764] [765] [766] [767] [768] [769] [770] [771] [772] [773] [774] [775] [776] [777] [778] [779] [780] [781] [782] [783] [784] [785] [786] [787] [788] [789] [790] [791] [792] [793] [794] [795] [796] [797] [798] [799] [800] [801] [802] [803] [804] [805] [806] [807] [808] [809] [810] [811] [812] [813] [814] [815] [816] [817] [818] [819] [820] [821] [822] [823] [824] [825] [826] [827] [828] [829] [830] [831] [832] [833] [834] [835] [836] [837] [838] [839] [840] [841] [842] [843] [844] [845] [846] [847] [848] [849] [850] [851] [852] [853] [854] [855] [856] [857] [858] [859] [860] [861] [862] [863] [864] [865] [866] [867] [868] [869] [870] [871] [872] [873] [874] [875] [876] [877] [878] [879] [880] [881] [882] [883] [884] [885] [886] [887] [888] [889] [890] [891] [892] [893] [894] [895] [896] [897] [898] [899] [900] [+10]
[+100]
[+500]
[+1000]

Канарские острова  free hosted forums  форум вебмастеров  бесплатный хостинг