所以让我假设几件事,你有一个带有html标签和属性的纯文本,你只想把它当作纯文本,可能是因为你在服务器端得到这个文本。
除了正则表达式,如果您更喜欢通过循环进行字符串操作,那么下面是简单的循环(逻辑),通过它您可以实现您想要的。
我假设您需要在服务器端执行此操作,因此我为此使用了 C#,您可以使用任何语言,甚至是 javascript 来执行此循环。
string sourceText = "<div id=\"target\" ><div>ABCD<img style=\"max-height: 25px; max-width: 25px;\" class=\"inlinetag\" " +
"src=\"http://my_images/icon.gif\\" +
"title=\"<ir_inline itemname=bild_1 type=0><cbd>\"> EFG</div>" +
"</div>";
string targetText = sourceText;
bool traceOn = false;
for (int i = 0; i < targetText.Length; i++)
{
if (traceOn)
if (targetText[i] == '"')
traceOn = false;
if (traceOn)
{
if (targetText[i] == '<')
{
targetText = targetText.Remove(i, 1).Insert(i, "<");
}
if (targetText[i] == '>')
{
targetText = targetText.Remove(i, 1).Insert(i, ">");
}
}
if (targetText[i] == '"')
{
if (targetText[i - 1] == '=')
traceOn = true;
}
}
}
所以基本上我正在做的是为你的替换操作模式,即你只需要替换那些出现在双引号内并且前面还有一个'='的<和>。它完美地工作。
这不是一个完美的解决方案,但它应该给你和想法,你可以如何处理你的字符串。这里有人可以编写更强大和更灵活的逻辑。尝试/改进它。
其他解决方案可以是,将您的整个字符串视为 xml。即几乎所有服务器端语言都提供了将字符串处理为xml 的工具。找到适合您需要的,即
我本可以做类似的事情
XmlDocument doc = new Xmldocument();
doc.LoadXml(targetString);
and then I could easily retrieve any tag and its attribute.
至于正则表达式,我很害怕它们。它应该给你一个想法。