0

我正在构建一个从 Wordpress 站点解析 XML 的应用程序。因为它经常在 Wordpress 上运行,所以使用的 HTML 实际上是作为文本的一部分存储在数据库中的,当我尝试删除 HTML 时,会出现这个符号:

</p>

不确定它是否会在此处正确显示,但它是虚线框中的一个小 OBJ 符号,每当 HTML 解析器尝试解析图像时,它就会出现在文本中。基本上,我想要检测何时发生这种情况并将其删除,但我无法在我的代码中检测到它。

我开始使用的 HTML 代码如下所示:

    05-21 11:26:05.402: I/System.out(6546): 
    <a id="dd_start"></a><p><strong><a href="http://movieboozer.com/wp-content/uploads/2012/05/the-avengers-poster.jpg" onclick="return TrackClick('http%3A%2F%2Fmovieboozer.com%2Fwp-content%2Fuploads%2F2012%2F05%2Fthe-avengers-poster.jpg','the-avengers-poster')"><img class="alignleft  wp-image-22470" style="margin-left: 10px; margin-right: 10px;" title="the-avengers-poster" src="http://movieboozer.com/wp-content/uploads/2012/05/the-avengers-poster.jpg" onclick="return TrackClick('http%3A%2F%2Fmovieboozer.com%2Fwp-content%2Fuploads%2F2012%2F05%2Fthe-avengers-poster.jpg','the-avengers-poster')" alt="" width="208" height="308" /></a>By: <a href="http://neauxreelidea.blogspot.com/" onclick="return TrackClick('http%3A%2F%2Fneauxreelidea.blogspot.com%2F','Bill+Arceneaux')">Bill Arceneaux</a> </strong><strong></strong><strong>(<a href="#verdict">A Toast</a>)<br /></strong><strong>Note: There is a rating embedded within this post, please visit this post to rate it.  </strong></p><p>I used to collect comic books. Yes, I admit it. I got swept up in the fantasy of characters with unique abilities beyond those of normal people, fighting over exaggerated villains in an effort to save their hometown, and in some cases, the world. I mostly focused on the Superman comics &#8211; during the period of time when he became pure energy (I was probably one of the few that liked that story arc) &#8211; but I certainly hadn’t chosen a side in the DC vs. Marvel fight. Why pigeonhole yourself to just one brand?<span id="more-22462"></span></p><p><a href="http://movieboozer.com/wp-content/uploads/2012/05/200px-Action_Comics_1.jpg" onclick="return TrackClick('http%3A%2F%2Fmovieboozer.com%2Fwp-content%2Fuploads%2F2012%2F05%2F200px-Action_Comics_1.jpg','200px-Action_Comics_1')"><img class="aligncenter size-full wp-image-22467" title="200px-Action_Comics_1" src="http://movieboozer.com/wp-content/uploads/2012/05/200px-Action_Comics_1.jpg" onclick="return TrackClick('http%3A%2F%2Fmovieboozer.com%2Fwp-content%2Fuploads%2F2012%2F05%2F200px-Action_Comics_1.jpg','200px-Action_Comics_1')" alt="" width="200" height="277" /></a></p><p style="text-align: center;">Never got my hands on that issue.</p><p>My collection eventually stopped &#8211; only a little more than a handful of issues remain. Was this just a passing fancy? I think, personally, I just yearned for something more; something to give the pages a new life in my eyes, without insulting my devotion to the mythology. In the last decade, we’ve seen movies that range from bastardized toy commercials to unique creative interpretations. But, have we seen the best that comic book movies can be?</p><p>If we haven’t yet, <em>The Avengers</em> might just be it. The culmination of millions of dollars in production budgets and years of origin stories, this story has HIGH expectations:</p><p>After finding his way out of a cosmic abyss (as seen in <em>Thor</em>), Loki (Tom Hiddleston) makes a play and captures the Tesseract (as seen in <em>Captain America: The First Avenger</em>) – a cube of energy that could prove dangerous if in the wrong hands – from S.H.I.E.L.D. (as seen in all previous Marvel Cinematic Universe films). Nick Fury (Samuel L. Jackson) is forced to restart the Avengers Initiative – a program to bring together Earth’s mightiest heroes – in a last ditch effort to get the cube back and stop Loki from leading an alien army.</p><p>Of course, this means that Fury must bring together a group of people who probably shouldn’t be in the same room together; Iron Man (Robert Downey Jr.), CaptainAmerica(Chris Evans), Dr. Bruce Banner AKA The Hulk (Mark Ruffalo), Thor (Chris Hemsworth), Black Widow (Scarlett Johansson) and Hawkeye (Jeremy Renner). Can these heroes put their difference aside and conquer their own inner problems in time to save the world?</p><p><strong>A Toast</strong></p><p>Have you ever had an awesome-gasm? … Did I just invent a new word to describe a movie?</p><p><a href="http://movieboozer.com/wp-content/uploads/2012/05/hulk.jpg" onclick="r.......

这就是它之后的样子:

   05-21 11:26:05.585: I/System.out(6546): : Bill Arceneaux (A Toast)
   05-21 11:26:05.585: I/System.out(6546): Note: There is a rating embedded within this post, please visit this post to rate it.  
   05-21 11:26:05.585: I/System.out(6546): I used to collect comic books. Yes, I admit it. I got swept up in the fantasy of characters with unique abilities beyond those of normal people, fighting over exaggerated villains in an effort to save their hometown, and in some cases, the world. I mostly focused on the Superman comics – during the period of time when he became pure energy (I was probably one of the few that liked that story arc) – but I certainly hadn’t chosen a side in the DC vs. Marvel fight. Why pigeonhole yourself to just one brand?
   05-21 11:26:05.585: I/System.out(6546): 
   05-21 11:26:05.585: I/System.out(6546): Never got my hands on that issue.
   05-21 11:26:05.585: I/System.out(6546): My collection eventually stopped – only a little more than a handful of issues remain. Was this just a passing fancy? I think, personally, I just yearned for something more; something to give the pages a new life in my eyes, without insulting my devotion to the mythology. In the last decade, we’ve seen movies that range from bastardized toy commercials to unique creative interpretations. But, have we seen the best that comic book movies can be?
   05-21 11:26:05.585: I/System.out(6546): If we haven’t yet, The Avengers might just be it. The culmination of millions of dollars in production budgets and years of origin stories, this story has HIGH expectations:
   05-21 11:26:05.589: I/System.out(6546): After finding his way out of a cosmic abyss (as seen in Thor), Loki (Tom Hiddleston) makes a play and captures the Tesseract (as seen in Captain America: The First Avenger) – a cube of energy that could prove dangerous if in the wrong hands – from S.H.I.E.L.D. (as seen in all previous Marvel Cinematic Universe films). Nick Fury (Samuel L. Jackson) is forced to restart the Avengers Initiative – a program to bring together Earth’s mightiest heroes – in a last ditch effort to get the cube back and stop Loki from leading an alien army.
   05-21 11:26:05.589: I/System.out(6546): Of course, this means that Fury must bring together a group of people who probably shouldn’t be in the same room together; Iron Man (Robert Downey Jr.), CaptainAmerica(Chris Evans), Dr. Bruce Banner AKA The Hulk (Mark Ruffalo), Thor (Chris Hemsworth), Black Widow (Scarlett Johansson) and Hawkeye (Jeremy Renner). Can these heroes put their difference aside and conquer their own inner problems in time to save the world?
   05-21 11:26:05.589: I/System.out(6546): A Toast
   05-21 11:26:05.589: I/System.out(6546): Have you ever had an awesome-gasm? … Did I just invent a new word to describe a movie?
   05-21 11:26:05.589: I/System.out(6546): 
   05-21 11:26:05.589: I/System.out(6546): HULK SMASH EXPECTATIONS!
   05-21 11:26:05.589: I/System.out(6546): With a cast of characters and actors this big, you would think things might get a bit muddled. But, with lots of clever photography, editing and dialogue, everything works out. Each hero – even Hawkeye and Black Widow – gets time to shine. And I don’t just mean moments where they look pretty and badass; each hero has personality and conflict. We actually get a little bit of depth here! It could have easily been a dumb action film, but instead chose to be a really good comic book.
   05-21 11:26:05.589: I/System.out(6546): Marvel could’ve easily picked a team of hack writers and a yes man director to helm this project, expecting to make their money back on brand recognition alone. Instead, they picked a fan friendly writer/director who understands how the audience feels about these characters, and really delivered something special. Sure, the depth I described doesn’t go into superhero psychology levels, but it’s exactly where we need it to be. This really is just about perfect.
   05-21 11:26:05.589: I/System.out(6546): Create a Drink
   05-21 11:26:05.589: I/System.out(6546): At one point in the film, Loki is offered a drink. He turns it down, but that doesn’t mean you shouldn’t. Just for fun, come up with your own Loki inspired beverage (but be safe about it). Some people at the midnight screening I attended were dressed as their favorite characters; why not pay homage to them in liquid courage form?
   05-21 11:26:05.589: I/System.out(6546): Verdict
   05-21 11:26:05.589: I/System.out(6546): 
   05-21 11:26:05.589: I/System.out(6546): Comic book movies rarely get any better than this. This isn’t to knock the other superhero flicks coming out this year (they’ll probably be great for different reasons), but the bar has been reset. Maybe the genre should be split into comic book, graphic novel and one off categories, in an effort to better tell the good from the bad? All I know for sure is, I feel like dusting off my old Action Comics issues.

我有一种感觉,这个问题可能与 java 一样多,因为它是 android 系统

谢谢你的帮助!

编辑:这是符号出现在 HTML 中的第一个位置:

<span id="more-22462"></span></p><p><a href="http://movieboozer.com/wp-content/uploads/2012/05/200px-Action_Comics_1.jpg" onclick="return TrackClick('http%3A%2F%2Fmovieboozer.com%2Fwp-content%2Fuploads%2F2012%2F05%2F200px-Action_Comics_1.jpg','200px-Action_Comics_1')"><img class="aligncenter size-full wp-image-22467" title="200px-Action_Comics_1" src="http://movieboozer.com/wp-content/uploads/2012/05/200px-Action_Comics_1.jpg" onclick="return TrackClick('http%3A%2F%2Fmovieboozer.com%2Fwp-content%2Fuploads%2F2012%2F05%2F200px-Action_Comics_1.jpg','200px-Action_Comics_1')" alt="" width="200" height="277" />
4

1 回答 1

4

您可以使用Html.fromHtml从 HTML 内容中检索可显示的样式文本。要从样式文本中删除图像信息,请使用以下代码:

public static Spanned removeImageSpanObjects(String inStr) {
    SpannableStringBuilder spannedStr = (SpannableStringBuilder) Html
            .fromHtml(inStr.trim());
    Object[] spannedObjects = spannedStr.getSpans(0, spannedStr.length(),
            Object.class);
    for (int i = 0; i < spannedObjects.length; i++) {
        if (spannedObjects[i] instanceof ImageSpan) {
            ImageSpan imageSpan = (ImageSpan) spannedObjects[i];
            spannedStr.replace(spannedStr.getSpanStart(imageSpan),
                    spannedStr.getSpanEnd(imageSpan), "");
        }
    }
    return spannedStr;
}
于 2012-05-21T10:54:17.873 回答