সি # তে এইচটিএমএল ব্যবহারের জন্য পাঠ্যটি কীভাবে আমি পালাতে পারি? আমি করতে চাই
sample="<span>blah<span>"
ধগফদ
<span>blah<span>
কেবল এইচটিএমএল এর ট্যাগ অংশের সাথে ব্লাহের পরিবর্তে সরল পাঠ্য হিসাবে দেখান :( সিএস এএসপি নয়
সি # তে এইচটিএমএল ব্যবহারের জন্য পাঠ্যটি কীভাবে আমি পালাতে পারি? আমি করতে চাই
sample="<span>blah<span>"
ধগফদ
<span>blah<span>
কেবল এইচটিএমএল এর ট্যাগ অংশের সাথে ব্লাহের পরিবর্তে সরল পাঠ্য হিসাবে দেখান :( সিএস এএসপি নয়
উত্তর:
using System.Web;
var encoded = HttpUtility.HtmlEncode(unencoded);
এছাড়াও, আপনি যদি সমাবেশটি ব্যবহার করতে না চান তবে আপনি এটি ব্যবহার করতে পারেন System.Web
:
var encoded = System.Security.SecurityElement.Escape(unencoded)
প্রতি এই নিবন্ধটি , মধ্যে পার্থক্য System.Security.SecurityElement.Escape()
এবং System.Web.HttpUtility.HtmlEncode()
যে সাবেক এছাড়াও ঊর্ধকমা এনকোড হয় (')
অক্ষর।
SecurityElement.Escape()
জন্য পালানো বলা ঠিক নয় যা এইচটিএমএল নয়।
আপনি বা উপরে .NET 4 ব্যবহার করছেন এবং আপনি রেফারেন্স করতে না চান তাহলে System.Web
, আপনি ব্যবহার করতে পারেন WebUtility.HtmlEncode
থেকেSystem
var encoded = WebUtility.HtmlEncode(unencoded);
এটির মতো একই প্রভাব রয়েছে HttpUtility.HtmlEncode
এবং এটি পছন্দ করা উচিত System.Security.SecurityElement.Escape
।
SecurityElement.Escape
এক্সএমএলে HtmlEncode
পরিচালিত হয় এবং এইচটিএমএল-এ পরিচালনা করে, এবং এক্সএমএল এবং এইচটিএমএল এনকোডিংয়ের কিছুটা আলাদা প্রয়োজনীয়তা রয়েছে ( বিশদটির জন্য এই উত্তরটি দেখুন)। সুতরাং, উদাহরণস্বরূপ, SecurityElement.Escape
ব্যবহার করার অনুমতি দেওয়া হয়েছে '
, যদিও HtmlEncode
নেই।
কেউ এএসপি.নেট ৪.০ তে এখনও উল্লেখ করেনি, এটি করার জন্য নতুন সিনট্যাক্স রয়েছে। পরিবর্তে
<%= HttpUtility.HtmlEncode(unencoded) %>
আপনি সহজভাবে করতে পারেন
<%: unencoded %>
আপনি প্রকৃত এইচটিএমএল ট্যাগ <xmp>
এবং ব্যবহার করতে পারেন</xmp>
আউটপুট স্ট্রিং হিসেবে xmp ট্যাগ মধ্যবর্তী ট্যাগের সব প্রদর্শন করা হয়।
অথবা আপনি সার্ভার Server.UrlEncode
বা ব্যবহার করতে পারেন HttpUtility.HtmlEncode
।
এটি এখানে দেখেনি
System.Web.HttpUtility.JavaScriptStringEncode("Hello, this is Satan's Site")
এই জাতীয় এইচটিএমএল নিয়ে কাজ করার সময় এটিই একমাত্র কাজ করেছিল (এসপি 4.0+)। '
যেমন অনুষ্ঠিত পরার '
HTML এ (htmldecode ব্যবহার করে), ব্যর্থ এটা যার ফলে:
<a href="article.aspx?id=268" onclick="tabs.open('modules/xxx/id/268', 'It's Allstars'); return false;">It's Allstars</a>
কিছু বিশেষ উক্তি অক্ষর রয়েছে যা এইচটিএমএল এনকোড দ্বারা সরানো হয়নি এবং এজ এবং আইই তে সঠিকভাবে "এবং" এর মতো প্রদর্শিত হবে না। আপনি এই অক্ষরগুলি নীচের ফাংশনটির মতো কিছু দিয়ে প্রতিস্থাপন করতে পারেন।
private string RemoveJunkChars(string input)
{
return HttpUtility.HtmlEncode(input.Replace("”", "\"").Replace("“", "\""));
}