我今天正在研究一个ASP.NET MVC模板,在盯着所有那些荧光黄色%标签足够长时间之后,我基本上认定我已经受够了,所以我煞费苦心地修改了我的ascx文件,看起来像这样:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<% if (Model == null)
{ %>
<%= ViewData.ModelMetadata.NullDisplayText %>
<% }
else if (ViewData.TemplateInfo.TemplateDepth > 1)
{ %>
<%= ViewData.ModelMetadata.SimpleDisplayText %>
<% }
else
{ %>
<% foreach (var prop in ViewData.ModelMetadata.Properties.Where(
pm => pm.ShowForDisplay && !ViewData.TemplateInfo.Visited(pm)))
{ %>
<% if (prop.HideSurroundingHtml)
{ %>
<%= Html.Display(prop.PropertyName) %>
<% }
else
{ %>
<% if (!String.IsNullOrEmpty(prop.GetDisplayName()))
{ %>
<span class="display-label">
<%= prop.GetDisplayName() %>
</span>
<% } %>
<span class="display-field">
<%= Html.Display(prop.PropertyName) …Run Code Online (Sandbox Code Playgroud) 我在c#中发送HTML邮件时遇到一个奇怪的问题.
基本上我每天早上都想给自己发送电子邮件,然后我开始从ftp网站下载HTML标记中的天气.
获取源文件后,我将其读入字符串并使用以下代码创建mailMessage.
string body = File.ReadAllText(@"C:\Weather.htm");
MailMessage mailMessage = new MailMessage();
SmtpClient mailClient = new SmtpClient("smtp.gmail.com");
mailClient.Credentials = new NetworkCredential(username, password);
mailClient.Port = 587;
mailClient.EnableSsl = true;
mailMessage.From = new MailAddress(emailFrom);
mailMessage.IsBodyHtml = true;
mailMessage.To.Add(emailTo);
mailMessage.Subject = "Test Email";
mailMessage.SubjectEncoding = System.Text.Encoding.Unicode;
mailMessage.Body = body;
mailMessage.BodyEncoding = System.Text.Encoding.Unicode;
mailClient.Send(mailMessage);
Run Code Online (Sandbox Code Playgroud)
问题是,当电子邮件以HTML格式到达时,所有DIV/CSS都不受尊重,看起来很奇怪.我试图通过电子邮件发送到不同的电子邮件地址和客户端,它看起来和尝试不同的编码一样.
因此,某些地方出现了问题.
有谁知道如何解决这个问题并获得格式正确的电子邮件?


源标记
<html xmlns="http://www.w3.org/1999/xhtml"><head xmlns="">
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Sydney Forecast</title>
<link rel="stylesheet" type="text/css" href="http://www.bom.gov.au/watl/standard/common.css">
<link rel="stylesheet" type="text/css" href="http://www.bom.gov.au/weather-services/styles/text-gfe.css">
</head>
<body>
<div class="product">
<p xmlns="" class="p-id">IDN10064</p> …Run Code Online (Sandbox Code Playgroud) 我需要编写一个将在PHP下运行的基本脚本/模板引擎.理想情况下,我就可以用(X)HTML模板混合我自己的标记语言,并通过服务器端的解析器运行文件与(X)HTML提供了一个数据库的动态替换我自己的标记.
不幸的是,就我所知的PHP和脚本而言,我不太清楚从哪里开始.我的第一直觉是通过某种正则表达式解析器运行整个文档,并将我的自定义标记映射到特定的PHP函数......但这对我来说似乎有点慢和笨拙.
哪些资源/教程/示例可以指向正确的方向?为了比较,我真的很喜欢用于.NET MVC的新Razor模板引擎...我不想完全打破PHP项目,但构建类似的东西会很棒.
好的,让我更多地完善我的解释......我为WordPress开发网站.我的很多客户都希望自定义他们的网站,但每当我开始谈论PHP时就会逃跑.这是一种脚本语言,对于非专业用户来说看起来太复杂,甚至不想引起兴趣.
我想要做的是专门为WordPress创建我自己的标记形式.因此,不应使用PHP函数调用(get_header()和get_footer()和if(has_posts())......)在主题文件,你不得不XML命名空间(<wpml:header />和<wpml:footer />和<wpml:loop> ... </wpml:loop>),其转换为同样的事情.它可以更好地将模板文件与服务器端脚本分开(有几个主题将整个PHP函数直接放在主题的PHP模板文件中!!!)并且可以使非开发人员更容易开始工作自定义WordPress主题.
考虑到这一点,已经建议的TWIG和Mackrell解决方案肯定支持在文件中嵌入脚本"nuggets"的想法,但它们并没有真正帮助我将自定义XML/XHTML标记解析为服务器端可识别的内容.码.
那么......在构建新的服务器端标记处理器时,我从哪里开始?
我正在研究Rails 3.1应用程序的前端部分.我们使用Twitter Bootstrap作为CSS框架,Devise作为身份验证管理器,使用I18n gem进行本地化.
这是带有标签的复选框的设计语法
<%= f.label :remember_me %>
<%= f.check_box :remember_me %>
Run Code Online (Sandbox Code Playgroud)
这当然是生成的HTML
<label for="user_remember_me">Ricordati di me</label>
<input name="user[remember_me]" type="hidden" value="0">
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
Run Code Online (Sandbox Code Playgroud)
由于Bootstrap为标签添加了此规则display: block,因此标签和复选框不在同一行中.要拥有相同的行,我需要像这样的HTML输出
<label for="user_remember_me">
Ricordati di me
<input name="user[remember_me]" type="hidden" value="0">
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
</label>
Run Code Online (Sandbox Code Playgroud)
您会注意到标签文本是意大利语,为Devised提供本地化的团队成员努力工作以了解如何执行此操作,并且我不想强迫他再次使用它来引入新的本地化字符串.
我知道这个FormBuidler label方法接受一个块作为参数的好事实,所以我能做到
<% f.label :remeber_me do %>
<%= f.check_box :remember_me %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但是,这产生的HTML输出whitout的标签!具体来说,这就是我得到的:
<input name="user[remember_me]" type="hidden" value="0">
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
Run Code Online (Sandbox Code Playgroud)
我试图在源代码看,该f.label方法 …
前段时间我在某处读到,一行文本被认为是一个段落,因此可以将其放入“代表段落/文本块”的<p>元素中。
我刚刚发现的一些例子证实了这一点:
http://www.w3.org/wiki/HTML/Elements/p#Example_A
http://reference.sitepoint.com/html/p
在我的特定情况下,我正在制作一个<form>包含每个字段的一些验证消息,并且只有在用户与页面交互时才对用户有意义。
出于定位目的(<p>是一个块元素)将更容易<p>为这些消息使用元素,但由于它<span>是一个更通用且无意义的元素,我也可以使用它,"display:block"但我不确定是否应该这样做。
你能告诉我在这种情况下要使用的元素是什么吗?
谢谢!
我希望能够在键入+组织模式文档时禁用删除线.特别是它适用于表格中的条目.是否有一种简单的方法可以为特定的组织模式文档执行此操作,因为我只想为一个文档禁用它.如果不是一种切换方式,这将是很好的.
我知道我可以有一个文字+符号,\plus但我希望能够在文档中看到它,而不是阅读\plus.
在 JSDoc 中,我可以用 标记我的构造函数@constructor。现在我试图在 PHPDoc 规范中找到如何对 PHP 构造函数执行相同的操作,但他们从未提及任何类似的内容。在 PHP 中标记我的构造函数的正确方法是什么?
这:
/**
* @constructor
*/
public function __construct()
{
}
Run Code Online (Sandbox Code Playgroud)
好像无效。
是否可以将标记设置为标记内容(类似于innerHtmlJavaScript中的设置)?
举个例子,假设我想在a中添加10个<a>元素<div>,但用逗号分隔:
soup = BeautifulSoup(<<some document here>>)
a_tags = ["<a>1</a>", "<a>2</a>", ...] # list of strings
div = soup.new_tag("div")
a_str = ",".join(a_tags)
Run Code Online (Sandbox Code Playgroud)
使用div.append(a_str)逃逸<和>成<和>,所以我结束了
<div> <a1> 1 </a> ... </div>
Run Code Online (Sandbox Code Playgroud)
BeautifulSoup(a_str)把它包裹起来<html>,我看到把树当作一个不雅的黑客.
该怎么办?
相关:如何在数据库中存储轻量级格式(Textile,Markdown)?
我想在我们的数据库中以某种标记语言存储注释格式.但是,我们希望允许多种格式化语言(markdown,textile,restructuredText).我们似乎应该存储其功能的超集,以便我们可以在它们之间进行转换.
(如果重要的话,Python/Google App Engine)
markup ×10
c# ×2
html ×2
markdown ×2
php ×2
annotations ×1
asp.net-mvc ×1
constructor ×1
css ×1
database ×1
devise ×1
emacs ×1
forms ×1
html-parsing ×1
mailmessage ×1
math ×1
org-mode ×1
phpdoc ×1
python ×1
scripting ×1
string ×1
templates ×1
text ×1
textile ×1
typesetting ×1
typst ×1
xml ×1