2010-07-27 8 views
0

Dans ma demande, je dois corriger toutes les étiquettes de fermeture de l'étiquette <img> comme indiqué ci-dessous. Au lieu de fermer le <img> avec un >, il devrait fermer avec />.Comment rechercher et corriger les balises et les attributs html?

Existe-t-il un moyen facile de rechercher tous les <img> dans ce texte et corriger le >?

(Si elle est déjà fermée avec />, aucune action n'est requise).

Autre question, s'il n'y a pas de "largeur" ​​ou de "hauteur" au <img>, quelle est la meilleure façon de résoudre le problème?

Télécharger toutes les images et obtenir les attributs correspondants de largeur et de hauteur, puis les rajouter à la chaîne de caractères?

La bonne étiquette <img> est celle qui se ferme avec /> et qui a la largeur valide & hauteur.

<a href="http://www.cultofmac.com/daily-deals749-mac-mini-1199-3-0ghz-imac-new-mac-pros/52674"><img align="left" hspace="5" width="150" src="http://s3.dlnws.com/images/products/images/749000/749208-large" alt="" title=""></a> 
Apple today unleashed a number of goodies, including giving iMacs and Mac Pros more oomph with new processors and increased storage options. We have those deals today, along with many more items for the Mac lover. Along with the refreshed line of iMacs and Mac Pros, we’ll also look at a number of software deals [...] 
<p><a href="http://feedads.g.doubleclick.net/~a/DL_-gOGSR1JMzKDbErt1EG3re3I/0/da"><img src="http://feedads.g.doubleclick.net/~a/DL_-gOGSR1JMzKDbErt1EG3re3I/0/di" border="0" ismap></a><br> 
<a href="http://feedads.g.doubleclick.net/~a/DL_-gOGSR1JMzKDbErt1EG3re3I/1/da"><img src="http://feedads.g.doubleclick.net/~a/DL_-gOGSR1JMzKDbErt1EG3re3I/1/di" border="0" ismap></a></p><img src="http://feeds.feedburner.com/~r/cultofmac/bFow/~4/Mq5iLOaT50k" height="1" width="1"> 
+0

Que faites-vous exactement? – JohnB

+0

J'utilise la bibliothèque TTStyledTextLabel de Three20 pour montrer le texte analysé dans la vue et parce que le texte ne vient pas avec le bon format, j'ai besoin de le corriger avant de passer au StyledText. –

Répondre

1

expressions régulières résoudre le problème avec la fermeture de vos balises correctement - assurez-vous que vous utilisez pour modifier votre code prend en charge l'expression régulière de recherche, puis recherchez quelque chose comme ceci (en supposant que tous l'image non fermée étiquettes se terminent par un « >):

\<img (.*?)"\> 

et le remplacer par ceci:

<img $1" /> 

en ce qui concerne le bit de la largeur et la hauteur des attributs, si vous En essayant d'afficher les images à leur largeur et hauteur normales, vous ne devriez pas en avoir besoin. La seule fois où vous aurez besoin de largeur et de hauteur est si vous affichez l'image à une taille différente de la taille de l'image originale, ce qui ne semble pas être le cas ici.

+0

Salut Steve, merci pour votre réponse. Pour autant que je sache, le TTStyledTextLabel de la bibliothèque Three20 ne montre pas correctement l'image si la largeur et la hauteur ne sont pas définies, il suppose que l'image a un CGRectZero donc rien n'est montré. C'est pourquoi j'ai besoin d'ajuster l'entrée. Merci pour la suggestion régulière encore, je n'y ai pas pensé avant :) –

Questions connexes