PDA

View Full Version : سوال: Replace داینامیک



saadi2
پنج شنبه 24 فروردین 1391, 00:53 صبح
با سلام.
فرض کنید وقتی مدیر سایت این کد اچ تی ام ال رو در یک پیج به کار میبره سورس پیج در هنگام اجرا رندر میشه و به جاش یک سری کد خاص replace میشه مثلا یک گالری عکس با album_id = 2000

html = Regex.Replace(html, "<div id=""2000""></div>", GetHtml)


این کد با id= 2000 ثابت مشکلی نداره و اجرا میشه.
حالا اگه مدیر سایت هر id که خواست را وارد کنه
1 - چجوری تشخیص بده موقع رندر و replace کنه؟
2 - چجوری id را از این string جدا کنم؟
ممنون

C#.net
پنج شنبه 24 فروردین 1391, 01:13 صبح
int Your_ID = ... // Read from anywhere you know
html = Regex.Replace(html, String.Format("<div id=""{0}""></div>", Your_ID), GetHtml);

saadi2
پنج شنبه 24 فروردین 1391, 04:15 صبح
میشه یه توضیح بدید که ID را چجوری پیدا کنم از داخل کد ها به صورت دقیق؟
به فرض من id رو به این شکل قرار میدم داخل کد:

<span id="2000" style=" display:none;"></span>


حالا این 2000 رو چجوری اولا پیدا کنم و ثانیا جدا کنم از string؟

C#.net
پنج شنبه 24 فروردین 1391, 11:11 صبح
میشه یه توضیح بدید که ID را چجوری پیدا کنم از داخل کد ها به صورت دقیق؟
به فرض من id رو به این شکل قرار میدم داخل کد:

<span id="2000" style=" display:none;"></span>


حالا این 2000 رو چجوری اولا پیدا کنم و ثانیا جدا کنم از string؟

منظورتون از جدا کردن چی هست و اینکه منظورتون از این که id رو به این شکل قرار میدم دفیقا چی هست، اگر امکان داره مساله تون رو به صورت کامل و مفصل بیان کنید

saadi2
پنج شنبه 24 فروردین 1391, 14:56 عصر
ببینید من میخوام مثلا یک id رو از یک متن string در بیارم که این ایدی داینامیکه یعنی کاربر هر ایدی دلخواهی رو خواست در این متن با یک فرمت خاص وارد میکنه به عنوان مثال :

this sample for show dynamic Gallery And ID_Gallery=2025 ,,,,,,,,,,,,,,,,,

در متن استرینگ بالا من ID_Gallery را چجوری بدست بیارم الان 2025 هست اما میتونه هر عددی باشه که کاربر وارد میکنه

C#.net
پنج شنبه 24 فروردین 1391, 19:37 عصر
می تونید از این ایده بگیرید:
http://forums.asp.net/t/1570206.aspx/1

ولی اگه بخواهید همینجوری سروته قضیه رو هم بیارید:



string input = @"<div id=""2000""></div>";
string tmp = input.Remove(0, input.IndexOf('"') + 1);
string id = tmp.Remove(tmp.IndexOf('"'));


در شرایطی کار می کنه که:


ورودی به فرمت بالا باشه
اولین attribute باید id باشه