PDA

نسخه کامل مشاهده نسخه کامل : درخواست: کمک جهت نوشتن یه اسکریپت ساده برای تبدیل لینک



Linux Learner
17-11-2010, 19:54
سلام
هدف تبدیل لینک عکسی که گوگل میده به لینک عکس اصلی هست
این لینکی هست که دارم و میخوام این قسمت قرمز رنگش جدا بشه و جدا به نمایش در بیاد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به این صورت که یک text box داشته باشیم و مثلا 100 تا لینک رو توی اون زیر هم وارد کنیم و بعد زدن sumbit در صفحه جدید لینک مستقیم عکسها زیر هم به نمایش در بیاد.
کد به ساده ترین زبان ممکن باشه. دقیقا نمیدونم با کدم زبان امکان انجامش هست. فکر میکنم html نتونه. اگه php باشه خوبه.
تشکر میکنم

neopersia
17-11-2010, 20:48
سلام

در جاوا اسکرپت با کمک عبارات با قاعده میشه آدرس رو در آورد
در php، هم با عبارات باقاعده و هم با استفاده از parse_url و parse_str میشه انجام داد

شما هر کدوم رو که بهتر میتونید انجام بدید شروع کنید و هر قسمتش رو که مشکل داشتید بپرسید

Linux Learner
18-11-2010, 03:28
متشکرم بابت جوابتون.
من این دو کد رو در دو فایل نوشتم:
index.html

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
test.php

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اون قسمت extract($_POST); رو از تو نت گرفتم و دقیقا" نمیدونم چیکار میکنه. ؟
قصد دارم با php نوشته بشه و parse_str رو متوجه نشدم. یعنی باید آدرس رو در یک آرایه قرار بدم؟ بعد از اون چطور باید بفهمونم که تا قبل از عبارت &imgrefurl= رو خروجی بده؟

alizshah
18-11-2010, 04:28
extract اینجا لازم نیست . extract عناصر ارایه رو به متغیر تبدیل میکنه.

همچنین شما میتونید از عبارت منظم استفاده کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

neopersia
18-11-2010, 12:03
به نظر من بهتره از عبارات با قاعده استفاده نکنید چون حالتهای مختلفی داره که با یک الگوی ساده مچ نمیشه
اون حالت هم که با substr نوشتید فقط برای همون لینک ممکنه کار بکنه و با تغییر در ترتیب پارامترها دیگه حتی برای همون لینک هم کار نمیکنه

از این میتونید با فرم html که نوشتید استفاده کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

extract هم در این مورد استفاده ای نداره

اگر خواستید از عبارات با قاعده استفاده کنید باید در نظر داشته باشید که آدرس تصویر هم ممکنه داخلش & داشته باشه

alizshah
18-11-2010, 20:43
سلام یاسر جان :10:
بیا فرض کنیم که کارکتر & داخلش باشه
خوب بنابرین parse_str هم اطلاعات غلط میده :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداما هیچ وقت چنین چیزی رخ نمیده
در واقع دادهایی که با get ارسال میشن encode میشن تا تداخلی با & و = اتفاق نیفته .



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

alizshah
18-11-2010, 20:51
جسارتا این کدمو من اینجا بزارم :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

neopersia
18-11-2010, 20:59
بله درسته من انکود شدن آدرسها رو در نظر نگرفتم ممنون که اشاره کردی :)
با این حساب از همون عبارات با قاعده هم میشه به راحتی استفاده کرد

فقط نمیشه قطعاً گفت که پسوند فایل در آدرس وجود خواهد داشت. موارد زیادی هست که آدرس فایل مربوط به یک اسکرپت میشه که خروجی تصویر داره. در این حالت jpg. توی آدرس وجود نخواهد داشت و از اونجا که قراره ورودی ها رو به صورت گروهی بگیره نمیشه تک تک برای هر آدرس پسوند مشخص کرد

مورد بعدی هم سوئیچ i هست که بهتره از الگو حذف بشه چون احتمالاً سرور به حروف حساس هست پس ورودی هم باید حساس باشه

و اینکه & آخر الگو هم باید اختیاری باشه. چون اگر آخر کوئری باشه دیگه این مورد وجود نخواهد داشت

و اینکه نهایتاً با در نظر گرفتن اینکه متغیر ها از پارامتر ورودی تابع مستقیم وارد الگو میشن بهتر هست که قبل از وارد کردن در الگو با quotemeta اسکیپ بشن تا مثلاً اگر نام متغیر []image بود مشکلی در الگو به وجود نیاره

این موارد که در نظر گرفته بشه فکر میکنم تابعی که نوشتید برای این مورد کامل باشه

Linux Learner
18-11-2010, 21:30
خیلی خیلی متشکرم.
حالا برای خوندن هر خط و اعمال همین عملیات روی اون باید چیکار کنم.
این رو برای تکست باکس نوشتم ولی فقط خط اول تشخیص داده میشه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


سوال دیگه:
چطور میشه تمام url های توی متن رو جدا کرد؟ هرچقدر هم که متنش زیاد باشه؟

alizshah
19-11-2010, 00:31
فقط نمیشه قطعاً گفت که پسوند فایل در آدرس وجود خواهد داشت. موارد زیادی هست که آدرس فایل مربوط به یک اسکرپت میشه که خروجی تصویر داره. در این حالت jpg. توی آدرس وجود نخواهد داشت و از اونجا که قراره ورودی ها رو به صورت گروهی بگیره نمیشه تک تک برای هر آدرس پسوند مشخص کرددر حالت پیش فرض بدون پسوند مشکلی به وجود نمیاره
پارامتر اخر برای انعطاف بیشتر بوده


و اینکه نهایتاً با در نظر گرفتن اینکه متغیر ها از پارامتر ورودی تابع مستقیم وارد الگو میشن بهتر هست که قبل از وارد کردن در الگو با quotemeta اسکیپ بشن تا مثلاً اگر نام متغیر []image بود مشکلی در الگو به وجود نیارهچون مقدا ما یک url هست و قراره query از اون گرفته بشه . فقط در این موراد کاربر داره پس
1. در حالت post هیچ queryi وجود نداره
2.در حالت GET ارایه ها غیر قابل استفاده هستن
ولی اگه کاربر بخواد الکی از این کاکتر های غیر مجاز استفاده کنه preg_match ارور میده
که اینجا طبق گفته شما اسکیپ کردم و مواردی که اشاره کردی بودی رو تصحیح کردم.

چون که شما خیلی دقیقی اگه خواستی ویرایشش کن بیام ببینم :31:



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Linux Learner
19-11-2010, 12:49
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تا الآن کد ها به این صورت شد.
مشکلم اعمال تغییرات روی تک تک خط های textbox و بعد لیست کردن آدرس های نهایی زیر هم هست.
امکانش هست یه تامبنیل که اندازه و حجمش کم شده رو تو صفحه ای نشون بدم بدون اینکه این فایل عکس جدید و کوچیک جایی ذخیره بشه؟

alizshah
19-11-2010, 17:30
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نیاز به توضیحی بود در خدمتم

Linux Learner
19-11-2010, 18:39
کار نمیکنه، این قسمت رو وقتی ور میدارم، درست میشه. این قسمت چیکار میکنه؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کدی که نوشتم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
----------------------------
عکس پروفایلت قشنگه. کی هست؟

alizshah
19-11-2010, 19:18
اونجا چک میکند که url دقیقا
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید باشد یا خیر
اما این چک میکنید که در url کلمه گوگل هستش یا خیر ..

یا اگه هیچی نمیخواید اونو برش دارید


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Linux Learner
20-11-2010, 18:12
چطور میشه این عملیاتی که روی لینک اولیه انجام میشه بصورت فوری در زیر صفحه به نمایش در بیاد و به صفحه دیگه ای نریم؟ (یعنی از به سرور متصل نشیم.)

eAmin
20-11-2010, 23:45
چطور میشه این عملیاتی که روی لینک اولیه انجام میشه بصورت فوری در زیر صفحه به نمایش در بیاد و به صفحه دیگه ای نریم؟ (یعنی از به سرور متصل نشیم.)
اگر خواسته شما اینه، خب براحتی میتونید از JavaScript برای اینکار کمک بگیرید و سرور رو هم درگیر نکنید!

Linux Learner
15-12-2010, 03:44
چطور میتونم نتیجه سرچ عکس گوگل رو بگیرم ؟
سایت زیر این کار رو میکنه(از چه روشی استفاده میکنه؟):

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید