Guruh talabasi Xoshimov Foziljon Mavzu: Razmеtkali tillar  html, xml, xhtml, wml



Download 360,5 Kb.
bet5/6
Sana22.08.2021
Hajmi360,5 Kb.
#153822
1   2   3   4   5   6
Bog'liq
loyiha ishi web (1)

Grafik qo’yish


Film qo’yish

Fonga muzika qo’yish


Sahifa parametrlarini sozlash


Framelar



Misol:


Frame










Targetlar
target=”{frame nomi}|_self | _parent | _top | _blank”
{frame nomi} – ko’rsatilgan framega ochish;
_self – framening o’ziga ochish;
_parent – joriy oynaga faqat ssilka berilgan sahifani ochish;
_top – yuqori framega ochish;
_blank – yangi oynaga ochish;

Iframe



XML da ayrim teglar

I need a regex to find all '<' or '>' which is not xml-tags.

Misol:

WZ<>S

Topish kerak



<><<>

Misol:


WZ<>S

Topish kerak



<<>

So, any hits where '<' or '>' is not in a tag (yes we alos have al self-closing tags which should be taken into consideration :)



Edit #2: What I want to do in the end is to replace all matches with the html-encoded values.

# 3 tahrirlash:

So what I want to do is from a text containing HTML with some additional tags (very few known tags) get all '<' and '>' which is not included in the tags.

Misol (ularni topmoqchi bo'lgan jasur narsalar, ularni kodlangan qiymatlari bilan almashtira olaman):



Link with < characters

Text with character >

Text < again >

Result should be:





Link with < characters

Text with character >

Text < again >

Any idea on how to solve this problem?

8

qo'shib qo'ydi 09 Iyun 2013 ichida 08:23 muallif Carl-Otto Kjellkvist tahrirlangan 11 Iyun 2013 ichida 08:58



 

Ko'rishlar: 2

 

manba

RONLJARUFRESPTDEZHHIBNARKKBETRUK

Tegishli: " stackoverflow.com/questions/1732348/…

qo'shib qo'ydi 11 Iyun 2013 ichida 09:02, muallif Adam Rackismanba

Afsuski, men buni muntazam ravishda ifoda etishim mumkin. Lekin XMl/HTML regex parametrlarini tahlil qiluvchi shaxs sifatida ham, men regex echimini ishlab chiquvchi standartlarini o'qib berishni buzishim uchun buzishim kerakligini aytmoq kerak ... va faqat Regex bilan xushbo'y lazzat bilan ishlaydi. Sizga kerak bo'lgan narsa xml tegini topuvchi hisoblanadi, yoki bu 


o'z-o'zidan yopilishi kerak bo'lgan etiketni talab qilishi yoki u erda bir nechta to'g'ri ichki kirish yopiqligi tengdoshi bo'lishi kerak. InnerTextni ko'rish qobiliyatiga ega HTMLAgilityPack shaxsiy echim bo'lishi mumkin deb o'ylayman.

qo'shib qo'ydi 12 Iyun 2013 ichida 10:11, muallif Suameremanba

@ Karl-OttoKjellkvist: agar yaxshi tushunsam, "tag" nomi muhim emas. Bunday holatda, nima uchun atrofidagi ni birinchi namunangizda o'chirib tashlamoqchisiz, ya'ni o'zingiz yopadigan va siz aniqlagan (ikkinchi misolga qarang) yorlig'i nima?

qo'shib qo'ydi 09 Iyun 2013 ichida 09:16, muallif Casimir et Hippolytemanba

nima uchun regex ?

qo'shib qo'ydi 09 Iyun 2013 ichida 08:26, muallif Ilya Ivanovmanba

va ham tegishli HTML emas. O'z-o'zidan yopiq qoidalar turli xil HTML versiyalarida turli xildir.

qo'shib qo'ydi 09 Iyun 2013 ichida 08:27, muallif Henk Holtermanmanba

ga mos kelishini istasangiz, HTML5da   dan foydalanishingiz mumkin > yoki Foydalanuvchining

profili .

qo'shib qo'ydi 09 Iyun 2013 ichida 08:32, muallif HamZamanba

Siz sintaksik tahlil qiluvchisiz ...

qo'shib qo'ydi 09 Iyun 2013 ichida 09:33, muallif HamZamanba

Yomon tushuntirish uchun kechirim so'rayman. Mening magistralimda o'z-o'zidan aniqlangan teglar bo'ladi. Shuning uchun mening savolim biroz yangilandi.

qo'shib qo'ydi 09 Iyun 2013 ichida 09:01, muallif Carl-Otto Kjellkvistmanba

Birinchi misolda yorliq yopiq emas :)

qo'shib qo'ydi 09 Iyun 2013 ichida 09:24, muallif Carl-Otto Kjellkvistmanba

Iltimos, bu masalada yordam beradigan bir ayrıştırıcı haqida ma'lumot bering. Men HTMLAgilityPack ga qaradim, ammo buni men ko'rmayapman.

qo'shib qo'ydi 09 Iyun 2013 ichida 09:36, muallif Carl-Otto Kjellkvistmanba

7 javoblar

Bu regex bilan amalga oshirilishi mumkin; Biroq, siz taklif qilayotganingiz kabi oddiy emas. Ushbu ishni bajarish uchun tegishli teglarni topib, ularni ishlov berishingiz kerak bo'ladi. Tez va engil xml/HTML parserini yozishda biroz oldin shu ishni qildim. Kod quyidagi manzilda mavjud:



http://csharptest.net/browse/src/Library/Html/XmlLightParser.cs http://csharptest.net/browse/src/Library/Html/XmlLightInterfaces.cs

Tahrirlash vositasidan foydalanish uchun IXmlLightReader ni aniqlangan ikkita manba faylidan keyin amalga oshirasiz. Quyidagi misol sizning istagan natijalaringizni ishlab chiqaradi va CDATA bo'limlari, ishlov berish bo'yicha yo'riqnomalar, DTD va boshqalar kabi bir qator boshqa qobiliyatlarni ko'rib chiqadi.



class RegexForBadXml

{

const string Input = "\r\n
\r\n\tLink with < characters\r\n\tText with character > &and other &#BAD; stuff\r\n\tText < again >\r\n\t

]]>

\r\n
";

private static void Main()

{

var output = new StringWriter();

XmlLightParser.Parse(Input, XmlLightParser.AttributeFormat.Html, new OutputFormatter(output));

Console.WriteLine(output.ToString());

}

private class OutputFormatter : IXmlLightReader

{

private readonly TextWriter _output;

public OutputFormatter(TextWriter output)

{

_output = output;

}

void IXmlLightReader.StartDocument() { }

void IXmlLightReader.EndDocument() { }

public void StartTag(XmlTagInfo tag)

{

_output.Write(tag.UnparsedTag);

}

public void EndTag(XmlTagInfo tag)

{

_output.Write(tag.UnparsedTag);

}

public void AddText(string content)

{

_output.Write(HttpUtility.HtmlEncode(HttpUtility.HtmlDecode(content)));

}

public void AddComment(string comment)

{

_output.Write(comment);

}

public void AddCData(string cdata)

{

_output.Write(cdata);

}

public void AddControl(string cdata)

{

_output.Write(cdata);

}

public void AddInstruction(string instruction)

{

_output.Write(instruction);

}

}

}

The preceeding program outputs the following results:







Link with < characters

Text with character > &and other &BAD; stuff

Text < again >



]]>

Note: I added the xml declaration, CDATA, and '&' text for testing only.

6

qo'shib qo'ydi 12 Iyun 2013 ichida 01:54 muallif csharptest.net



 

manba

Ishlar ajoyib! Tnx!

qo'shib qo'ydi 12 Iyun 2013 ichida 04:19, muallif Carl-Otto Kjellkvistmanba

Buning uchun rahmat ... kodingizning bir qismi hozir mening loyihalarimdan birida (albatta, kreditlar bilan)

qo'shib qo'ydi 28 Dekabr 2017 ichida 02:51, muallif Paul Perrickmanba

Bu savol dan bir usuldan foydalaning va kirishning html teglarini olib tashlang

keyin


string output = new string(input.ToCharArray().Where(c=> c=='<'||c=='>').ToArray());

3

qo'shib qo'ydi 09 Iyun 2013 ichida 08:34 muallif Damith



 

manba

Judging from your example, it seems you are not searching xml files as the subject suggests, but rather XML-like files - perhaps files that would be xml if they did not contain the "<" and ">" characters that you are looking for.

Ammo vazifani etarlicha aniq ko'rsatmadingiz. Masalan, qanday bo'lishi kerak

xxxx

yoki


Ikkinchidan, odatdagi iboralar bilan erishish uchun juda qiyin (ehtimol imkonsiz). Grammatikani yoki siz qabul qilmoqchi bo'lgan kirish tilini (XML kengaytmasini) aniqlab olishingiz va uni recursiv ajralish texnikasi yordamida tahlil qilishingiz kerak.

2

qo'shib qo'ydi 10 Iyun 2013 ichida 12:07 muallif Michael Kay



 

manba

OK, bu sizning bizga bergan juda yaxshi xususiyatni yozish uchun muammoni yaxshi tushunganingiz kabi eshitiladi.

qo'shib qo'ydi 10 Iyun 2013 ichida 10:09, muallif Michael Kaymanba

Menda mavjud bo'lgan ba'zi bir qo'shimcha teglar bilan birga HTML-sahifa mavjud. Keyin foydalanuvchi "<" va ">" ni qo'shishlari kerak. Shunday qilib, yuqoridagi misollar beparvo emas, 1-misol haqiqiy emas va misol uchun, 2 hisobga olinmaydi.

qo'shib qo'ydi 10 Iyun 2013 ichida 09:22, muallif Carl-Otto Kjellkvistmanba

OK, # 3 tahrirda yanada aniqroq bo'lishga harakat qildim :)

qo'shib qo'ydi 11 Iyun 2013 ichida 08:58, muallif Carl-Otto Kjellkvistmanba

Men sizning savolingizga juda ko'p tushunchani tushunmadim, lekin men sizning HTML namunangizni olgan va HTML natijasini kutilgan HTML natijalari bilan qaytarib beradigan kodni yozdim.



MatchCollection matches = Regex.Matches(YourHTML, @"(?<=<.*?>).+(?=<.*?>)");

foreach (Match match in matches)

{

YourHTML = YourHTML.Replace(match.Value, HttpUtility.HtmlEncode(match.Value));

}

0

qo'shib qo'ydi 11 Iyun 2013 ichida 11:26 muallif a1204773



 

manba

Given the new formulation of your problem in edit #3, I think you could solve it with a regular expression that matches "<" followed by a negative lookahead



<(?!(/?(a|b|div|p|....|!--|!\[CDATA\[))

which matches < if not followed by one of the known tag-names, and then replace this "<" with "<"

0

qo'shib qo'ydi 12 Iyun 2013 ichida 11:33 muallif Michael Kay



 

manba

Sizning cheklangan holatlarda sizda ishlaydigan algoritmli strategiya mavjud bo'lib ko'rinadi, bu quyidagicha tavsiflanadi:



  1. Search left to right for an open tag, i.e. .

  2. If found, search the remaining string for the matching close tag,

  3. Recursively repeat steps one and two for the string between the open and close tags just found for as long as you can find matching pairs

  4. For sequences of the string where no open/close tag pair is found, replace all occurrences of < and > with the escapes.

0

qo'shib qo'ydi 11 Iyun 2013 ichida 09:56 muallif 500 - Internal Server Error

 

manba

Men buni Ahamiyatga bo'ysunmagan deb qo'shishni hohlayman, masalan. u bir xil turdagi ichki teglar bilan to'g'ri ishlamaydi.

qo'shib qo'ydi 11 Iyun 2013 ichida 09:58, muallif 500 - Internal Server Errormanba

static string test(string input)

{

var r = @"(<(.*?)>)(.*?)";

while (Regex.IsMatch(input, r))

input = Regex.Replace(input, r, "$3");

return Regex.Replace(input, @"\w", "");

}

0Bastianon Massimomanba

Html ayrim teglari:


Download 360,5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish