我需要通过使用正确的嵌套顺序关闭任何打开的标签来清理用户提交的HTML.我一直在寻找算法或Python代码来做到这一点但除了PHP中的一些半生不熟的实现之外没有找到任何东西.
例如,像
<p>
<ul>
<li>Foo
Run Code Online (Sandbox Code Playgroud)
变
<p>
<ul>
<li>Foo</li>
</ul>
</p>
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激 :)
我将在这里回答我自己的问题,因为我花了几个小时将它拼凑在一起并想分享我发现的东西,希望我能拯救别人挖掘.
有一个MSDN演练可以帮助你完成大部分工作,但我在其他地方找到了几个关键部分.例如,演练告诉您将行[System :: STAThreadAttribute]放在_tWinMain()定义之前,但如果您正在实现标准MFC应用程序,那么您的源代码中没有_tWinMain().
如果这里的任何内容不清楚,请随时提问,我会编辑答案以使事情更清楚.
我想使用OpenID登录Stack Overflow,但我想我已经建立了自己的OpenID提供程序,只是因为它更难:)你如何在Ubuntu中这样做?
编辑:用正确的术语OpenID提供者替换'服务器'(根据维基百科,身份提供者也是正确的).
开发网站非常耗时.为了提高生产力,我会编写一个原型来向客户展示.我不担心让原型符合标准.大多数情况下,我们的客户会批准原型并给出不合理的截止日期.我通常最终在生产中使用原型(嘿,原型工作.不需要让我的工作更难.)
我可以重构代码以输出有效的HTML.但是输出有效的HTML是值得的吗?
在DirectoryInfo类的实例上调用DirectoryInfo.GetDirectories(".")时,该实例指向有效文件夹(不包括驱动器根),结果是DirectoryInfo数组,其第一个(也是唯一的)元素指向名为相同的无效目录就其本身而言,低于自身.
例如:
static void Main(string[] args)
{
DirectoryInfo di = new DirectoryInfo("c:\\temp");
DirectoryInfo[] dis = di.GetDirectories(".");
Console.WriteLine(dis[0].FullName);
}
Run Code Online (Sandbox Code Playgroud)
打印出一个不存在的目录:
c:\temp\temp
Run Code Online (Sandbox Code Playgroud)
据我所知,在Windows中,"." 指的是当前目录.如果方法返回"c:\ temp",那对我来说可能是可以接受的,但是返回一个具有相同名称的伪子目录似乎绝对是错误的行为.
我应该可以断言从这个函数返回的任何DirectoryInfo对象实际上都存在....对吗?!
我使用.NET Reflector反编译该类,但它导致了这种方法
internal static string[] InternalGetFileDirectoryNames(string path, string userPathOriginal, string searchPattern, bool includeFiles, bool includeDirs, SearchOption searchOption)"
Run Code Online (Sandbox Code Playgroud)
这是一个野兽,我不想走在脑海中的逻辑.这显然是一个错误恕我直言.
仅供参考 - 在某人要求之前,"*"按预期工作.
我正在寻找一种方法来重定向交互式bash中的所有stderr流(理想情况下是它的调用父进程).
我不想从每个单独的命令重定向stderr流,我可以通过附加2> a_file到每个命令来完成.
默认情况下,这些stderr流被重定向到交互式bash的stdout.我想让他们在这个交互式bash进程的stderr上,以防止我的stdout被错误消息污染,并能够分开处理它们.
有任何想法吗?
我还没有找到答案......但也许它实际上是一个tty参数.有没有人知道关于处理stderr的tty/interactive shell责任?
我有3台Linux机器,并希望通过某种方式将dotfiles保持在主目录中同步.有些文件,如.vimrc,在所有3台机器上都是相同的,有些文件对每台机器都是唯一的.
我之前使用过SVN,但关于DVCS的所有嗡嗡声让我觉得我应该尝试一下 - 是否有一个特别适合这个?或者我应该坚持使用SVN?
我一直在考虑在我的Mac上使用Carbon Emacs,而我遇到的唯一绊脚石就是当你试图滚过文档末尾时发出令人讨厌的滚动声.我看过网上但我似乎无法找到我应该添加到我的.emacs中的内容,这会阻止它在滚动时发出哔哔声.滚动时我不想完全沉默它.有任何想法吗?
假设我在C中创建一个需要使用临时文件的程序.在/ tmp中创建临时临时文件可能不是一个好主意.是否有函数或OS调用为我提供临时文件名,以便我可以开始写入和读取它?
我的任务是编写具有相关元数据的XML文件中的outlook .MSG文件.我尝试过使用Aspose库,但所有公开的MapiMessage属性都是只读的.使用Outlook对象模型我无法更改创建日期以及我必须访问的其他属性.我也尝试过Rebex库,但是它导出到EML,并且不支持RTF.
我的问题是,是否有Mapi或任何一种方式来编写.MSG文件并访问每个属性?