Delete spaces around specific tags in an html file in shell - html

I'm looking to write a shell script that minify less html files, but I'm having a problem.
I would like to delete the space on each side of a specific html tag, these tags being read from a file. With "perl", I can't do it, nothing happens, with sed in 2 commands I almost get what I want. In the example below, the space between some tags is removed, but not all, at the level of the "section" tags there is a problem, "h2" too, however the pattern matches ...
for tag in $tag_file ; do
# perl -e '$comHtml=<>; $comHtml=~s/ *(<${tag} *.* *>) */\1/g; print $comHtml' < tmp_html
sed -i -r -e "s: *(<${tag} *.* *>) *:\1:gI" ./tmp_html
sed -i -r -e "s: *(</${tag} *.* *>) *:\1:gI" ./tmp_html
done
here, $tag_file contains the specific tag got from a file, for example $tag_file = html \n head \n section \n ...
Entry html :
<!doctype html> <html lang="fr"> <head> <meta charset="UTF-8"> <title>La gazette de L-INFO</title> <link rel="stylesheet" type="text/css" href="./styles/gazette.css"> </head> <body> <nav> <ul> <li>Accueil</li> <li>Toute l'actu</li> <li>Recherche</li> <li>La rédac'</li> <li>jbigoude <ul> <li>Mon profil</li> <li>Nouvel article</li> <li>Se déconnecter</li> </ul> </li> </ul> </nav> <header> <img src="./images/titre.png" alt="La gazette de L-INFO" width="780" height="83"> <h1>Le site de désinformation n°1 des étudiants en Licence Info</h1> </header> <main> <section class="centre"> <h2>À la Une</h2> <img src="images/hacker.jpg" alt="Un mouchard dans un corrigé de Langages du Web"><br> Un mouchard dans un corrigé de Langages du Web <img src="images/hymne.jpg" alt="Votez pour l'hymne de la Licence"><br> Votez pour l'hymne de la Licence <img src="images/melenchon.jpg" alt="L'amphi Sciences Naturelles bientôt renommé amphi Mélenchon"><br> L'amphi Sciences Naturelles bientôt renommé amphi Mélenchon </section> <section class="centre"> <h2>L'info brûlante</h2> <img src="images/walkingdead.jpg" alt="Il avait annoncé 'Je vais vous défoncer' l'enseignant relaxé"><br> Il leur avait annoncé "Je vais vous défoncer" l'enseignant relaxé <img src="images/pingouins.jpg" alt="Des pinguoins dans l'amphi B"><br> Toute une famille de pingouins découverte dans l'amphi B <img src="images/macron.jpg" alt="Emmanuel Macron obtient sa Licence d'Info en EAD"><br> Emmanuel Macron obtient sa Licence Info en EAD </section> <section class="centre"> <h2>Les incontournables</h2> <img src="images/arnaque.jpg" alt="Arnaque au devoir corrigé de TLSP"><br> Une arnarque au corrigé de TL mise à jour <img src="images/calendrier.jpg" alt="Le calendier des Dieux de la Licence bientôt disponible"><br> Le calendier des Dieux de la Licence bientôt disponible <img src="images/sondage.jpg" alt="Allez-vous réussir votre année ?"><br> Résultat de notre sondage : allez-vous réussir votre année ? </section> <section> <h2>Horoscope de la semaine</h2> <p>Vous l'attendiez tous, voici l'horoscope du semestre pair de l'année 2019-2020. Sans surprise, il n'est pas terrible...</p> <table id="horoscope"> <tr> <td>Signe</td> <td>Date</td> <td>Votre horoscope</td> </tr> <tr> <td>♈ Bélier</td> <td>du 21 mars<br>au 19 avril</td> <td rowspan="4"> <p>Après des vacances bien méritées, l'année reprend sur les chapeaux de roues. Tous les signes sont concernés. </p> <p>Jupiter s'aligne avec Saturne, péremptoirement à Venus, et nous promet un semestre qui ne sera pas de tout repos. Février sera le mois le plus tranquille puisqu'il ne comporte que 29 jours.</p> <p>Les fins de mois seront douloureuses pour les natifs du 2e décan au moment où tomberont les tant-attendus résultats du module d'<em>Algorithmique et Structures de Données</em> du semestre 3.</p> </td> </tr> <tr> <td>♉ Taureau</td> <td>du 20 avril<br>au 20 mai</td> </tr> <tr> <td>...</td> <td>...</td> </tr> <tr> <td>♓ Poisson</td> <td>du 20 février<br>au 20 mars</td> </tr> </table> <p>Malgré cela, notre équipe d'astrologues de choc vous souhaite à tous un bon semestre, et bon courage pour le module de <em>Système et Programmation Système</em>.</p> </section> </main> <footer>© Licence Informatique - Janvier 2020 - Tous droits réservés</footer> </body> </html>
output html :
<!doctype html><html lang="fr"><head><meta charset="UTF-8"><title>La gazette de L-INFO</title><link rel="stylesheet" type="text/css" href="./styles/gazette.css"></head><body><nav><ul> <li>Accueil</li> <li>Toute l'actu</li> <li>Recherche</li> <li>La rédac'</li> <li>jbigoude <ul> <li>Mon profil</li> <li>Nouvel article</li> <li>Se déconnecter</li></ul> </li> </ul></nav><header> <img src="./images/titre.png" alt="La gazette de L-INFO" width="780" height="83"><h1>Le site de désinformation n°1 des étudiants en Licence Info</h1></header><main><section class="centre"><h2>À la Une</h2> <img src="images/hacker.jpg" alt="Un mouchard dans un corrigé de Langages du Web"><br> Un mouchard dans un corrigé de Langages du Web <img src="images/hymne.jpg" alt="Votez pour l'hymne de la Licence"><br> Votez pour l'hymne de la Licence <img src="images/melenchon.jpg" alt="L'amphi Sciences Naturelles bientôt renommé amphi Mélenchon"><br> L'amphi Sciences Naturelles bientôt renommé amphi Mélenchon </section> <section class="centre"> <h2>L'info brûlante</h2> <img src="images/walkingdead.jpg" alt="Il avait annoncé 'Je vais vous défoncer' l'enseignant relaxé"><br> Il leur avait annoncé "Je vais vous défoncer" l'enseignant relaxé <img src="images/pingouins.jpg" alt="Des pinguoins dans l'amphi B"><br> Toute une famille de pingouins découverte dans l'amphi B <img src="images/macron.jpg" alt="Emmanuel Macron obtient sa Licence d'Info en EAD"><br> Emmanuel Macron obtient sa Licence Info en EAD </section> <section class="centre"> <h2>Les incontournables</h2> <img src="images/arnaque.jpg" alt="Arnaque au devoir corrigé de TLSP"><br> Une arnarque au corrigé de TL mise à jour <img src="images/calendrier.jpg" alt="Le calendier des Dieux de la Licence bientôt disponible"><br> Le calendier des Dieux de la Licence bientôt disponible <img src="images/sondage.jpg" alt="Allez-vous réussir votre année ?"><br> Résultat de notre sondage : allez-vous réussir votre année ? </section> <section> <h2>Horoscope de la semaine</h2><p>Vous l'attendiez tous, voici l'horoscope du semestre pair de l'année 2019-2020. Sans surprise, il n'est pas terrible...</p> <table id="horoscope"> <tr> <td>Signe</td> <td>Date</td> <td>Votre horoscope</td> </tr> <tr> <td>♈ Bélier</td> <td>du 21 mars<br>au 19 avril</td> <td rowspan="4"> <p>Après des vacances bien méritées, l'année reprend sur les chapeaux de roues. Tous les signes sont concernés. </p> <p>Jupiter s'aligne avec Saturne, péremptoirement à Venus, et nous promet un semestre qui ne sera pas de tout repos. Février sera le mois le plus tranquille puisqu'il ne comporte que 29 jours.</p> <p>Les fins de mois seront douloureuses pour les natifs du 2e décan au moment où tomberont les tant-attendus résultats du module d'<em>Algorithmique et Structures de Données</em> du semestre 3.</p> </td> </tr> <tr> <td>♉ Taureau</td> <td>du 20 avril<br>au 20 mai</td> </tr> <tr> <td>...</td> <td>...</td> </tr> <tr> <td>♓ Poisson</td> <td>du 20 février<br>au 20 mars</td> </tr> </table> <p>Malgré cela, notre équipe d'astrologues de choc vous souhaite à tous un bon semestre, et bon courage pour le module de <em>Système et Programmation Système</em>.</p> </section></main><footer>© Licence Informatique - Janvier 2020 - Tous droits réservés</footer></body></html>

The main issue with your perl line is your quoting; you used single quotes, which means you don't have to escape the Perl variables, but it also means the shell variable ${tag} will be interpreted by Perl (where it's empty) not the shell. You can access shell variables more easily from Perl by either passing them as arguments or environment variables. You also didn't use the -i switch for in-place editing, so you just printed the changes to STDOUT.
With ojo installed, you can do this with a proper HTML parser and thus not be susceptible to edge cases:
env tag=$tag perl -0777 -pi -CS -Mojo -e '$_ = x($_);
$_->find($ENV{tag})->each(sub {
$_->content($_->content =~ s/\A *//r =~ s/ *\z//r);
my ($p, $n) = ($_->previous_node, $_->next_node);
$p->content($p->content =~ s/ *\z//r) if defined $p and ($p->type eq "text" or $p->type eq "raw");
$n->content($n->content =~ s/\A *//r) if defined $n and ($n->type eq "text" or $n->type eq "raw");
})' tmp_html
The -0777 switch ensures the file will be operated on in one step rather than by line, -pi wraps the code in a loop which will assign the input to $_ and then update that file in-place with the resulting value of $_, and -CS ensures it will be decoded from UTF-8 to parse and encoded back after.
The x function from ojo creates a Mojo::DOM object, which can then find every instance of the requested tag and operate on it (which includes its contents and closing tag).
The substitution operations: s/\A *//r and s/ *\z//r remove all space characters from the beginning or end of the string respectively, and return the modified string (/r prevents it from operating in place, so you can use this with Mojo::DOM's content method). To instead remove any whitespace characters (including newlines), use s/\A\s*//r and s/\s*\z//r.

After some communication with OP I hope that I properly understood the problem.
HTML tags is stored in separate file one per line (tag_file.txt), in separate file we have HTML webpage code (file.html).
The code should strip spaces in HTML webpage code (file.html) around tags [opening,closing] specified in tag file (tag_file.txt).
NOTE: processing done with perl script without shell's assistance (shortens processing time)
use strict;
use warnings;
use feature 'say';
my $tag_file = 'tag_file.txt';
my $html_file = 'file.html';
open my $fh_tag, '<', $tag_file # open tag file
or die "Couldn't open $tag_file: $!";
my #tags = <$fh_tag>; # read tags into array
chomp #tags; # remove eol from tag lines
close $fh_tag; # close tag file
open my $fh_html, '<', $html_file # open html file
or die "Couldn't open $html_file: $!";
my $html = do { local $/; <$fh_html> }; # read whole file into variable
close $fh_html; # close html file
# now make substitution for each read tag
for my $tag (#tags) { $html =~ s!\s*(</?$tag\s*.*?>)\s*!$1!g; }
say $html;
Content of tag_file.txt
html
head
body
section

Related

I have a text with html and css and need formatted text

I am re-making a website that takes tests. It was on PHP and now we are taking it to TypeScript.
I am using React and Material UI to display the feedback for the correct answer and explanation when the user sends their answer.
I get the feedback from an old database they were using (and that we will still use), and what they used to do was create a variable called html (string), and then concatenate each part of the html code raw.
Something like this: (in PHP .= and . is what you use to concatenate)
$html = '';
$html = '<div>';
$html .= '<p class="maintext"><span>' . $some_variable_they_want_in_span . '</span>';
$html .= $some_other_variable_that_is_empty_or_not_depending_on_if_clause . '</p>';
$html .= '</div>';
it is a pain... but the thing is. Now that I am showing the feedback, it comes in a terrible format that I can't simply show in a Typography element (Material UI, but I couldn't in a -p- tag either).
The text is, for example, this one:
" <p>Artículo séptimo.\n</p><p>1. En el ejercicio de sus funciones, los miembros de las Fuerzas y Cuerpos de Seguridad tendrán a todos los efectos legales el carácter de AGENTES DE LA AUTORIDAD.\n</p><p>2. Cuando se cometa delito de atentado, empleando en su ejecución armas de fuego, explosivos u otros medios de agresión de análoga peligrosidad, que puedan poner en peligro grave la integridad física de los miembros de las Fuerzas y Cuerpos de Seguridad, tendrán al efecto de su protección penal LA CONSIDERACIÓN DE AUTORIDAD.\n</p><p>3. La Guardia Civil sólo tendrá consideración de fuerza armada en el cumplimiento de las misiones de carácter militar que se le encomienden, de acuerdo CON EL ORDENAMIENTO JURÍDICO.\n</p><p>\n</p> "
How can I show this in a readable and nice text? I tried some npm packages and passing it through decodeURI but no change. Any ideas? Some text will even come with something like
"Artículo 2. Secretaría de Estado de Seguridad.<div>Corresponde a la persona titular de la Secretaría de Estado de Seguridad el ejercicio de las funciones a las que se refiere el artículo 62 de la Ley 40/2015, de 1 de octubre, y en particular, la dirección, coordinación y supervisión de los órganos directivos dependientes de la Secretaría de Estado, bajo la inmediata autoridad de la persona titular del Ministerio, para el ejercicio de las siguientes funciones:&nbsp;</div><ul><li><span style=\"letter-spacing: -0.015rem;\">El ejercicio del mando de las Fuerzas y Cuerpos de Seguridad DEL ESTADO, y la COORDINACIÓN Y SUPERVISIÓN DE LOS SERVICIOS Y MISIONES QUE LES CORRESPONDEN.</span></li></ul>"
Ok! So one of my coworkers found this solution:
import textParserTest from "~/utils/textparser"; // (which uses in its code the following: import parse from "html-react-parser";)
...
<div
contentEditable="true"
dangerouslySetInnerHTML={{
__html: textParserTest(props.question.answer, 0)
.toString()
.replaceAll("\\n", ""),
}}
></div>
So basically. html-react-parser package did the trick

Html style not displayed on my Qweb Report

I got a Qweb Report on odoo11 that works perfectly ,but when i try adapting it on odoo12 the Html text loose it's style after adding [url.report ,http:/0.0.0.0:8069]
Here My Html field :
CGV_field = fields.Html(string="CGV", default=
"""<div><b>EXEMPLE DE CONDITIONS GENERALES DE VENTE</b></div>
<div><b><br>\n</b></div>
<b>Article 1 – Objet</b>
<br>
<p>Les présentes conditions régissent les ventes par la société (catégories ou nature des produits commercialisés par le site Internet).</p>
<br>
<b>Article 2 – Prix</b>
<br>
<p>Les prix de nos produits sont indiqués en Dinars toutes taxes comprises (TVA et autres taxes applicables au jour de la commande), sauf
indication contraire et hors frais de traitement et d’expédition.
Toutes les commandes quelle que soit leur origine sont payables en dinars.
La société se réserve le droit de modifier ses prix à tout moment, mais le produit sera facturé sur la base du tarif en vigueur au moment de la
validation de la commande et sous réserve de disponibilité.
Les produits demeurent la propriété de la société jusqu’au paiement complet du prix.
Attention : dès que vous prenez possession physiquement des produits commandés, les risques de perte ou d’endommagement des
produits vous sont transférés.</p>"""
Calling it on xml report :
<template id="report_cgv_account">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-call="elosys_cgv_in_report.internal_layout_cgv_o">
<div class="page">
<div class="oe_structure"/>
<div class="row" style="margin-left:10px;margin-right:10px;">
<span style=" margin-left:10px;margin-right:10px;" t-raw="o.company_id.CGV_field"/>
</div>
</div>
</t>
</t>
</t>
</template>
what it's supposed to show :
What i've got :
The System parameters key is report.url not url.report.
I've found the answer if any of you wish to know :
just add <![CDATA[ ]]> before <span>

ITextRenderer - TextBox out of generated Pdf mediabox

I'm trying to convert a html content document to pdf using ITextRenderer using this version of library:
implementation group: 'org.xhtmlrenderer', name: 'flying-saucer-pdf-itext5', version: '9.1.22'
This is what I'm doing to convert my html to pdf:
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(getXHTMLFromHTML(out.toString()));
renderer.layout();
renderer.createPDF(byteArrayOutputStream);
However I'm getting a problem with a specific part of my html, a table that's supposed to be a list. This is the result in adobe acrobat:
As you can see the text box is out of the mediabox of the pdf, there's no cropbox present, and the result is that text is not fully visible.
Here is the html that causes this issue:
<div id="4a9dc6ae-3d2e-448b-8e70-3422659f87bd" class="alinea">
<p>Ne sont pas déductibles les dépenses suivantes:</p>
<table id="9c582e44-1932-4bee-b93e-6fb75b725f4b" style="width: 1127px;" class="custom-list">
<tbody class="body number-style dot-separator">
<tr class="row">
<td class="cell">1.</td>
<td class="cell">les dépenses faites en vue de remplir des obligations imposées � la collectivité par ses statuts ou son pacte social;</td>
</tr>
<tr class="row">
<td class="cell">2.</td>
<td class="cell">l'impôt sur le revenu des collectivités, l'impôt sur la fortune et l'impôt commercial communal;</td>
</tr>
<tr class="row">
<td class="cell">3.</td>
<td class="cell">les rémunérations imposables en vertu du premier alinéa, numéro 2 de l'<a id="e48d16e9-3eeb-4d99-91c3-f97b8d206a5e" href="https://00f74ba44b4a6fc879f193e8a262c50fb07e0f7d81-apidata.googleusercontent.com/#/o/link/1/a0ea877e-3736-4ce9-b09f-fc1be79b787a" class="tech_content LINK_INTERN">article 91</a>;</td>
</tr>
<tr class="row">
<td class="cell">4.</td>
<td class="cell">les dépenses faites dans un but cultuel, charitable ou d'intérêt général sans préjudice de la disposition prévue au premier alinéa, numéro 3 de l'<a id="3e74194c-2ae3-4b41-9efc-c6a1c23102cb" href="https://00f74ba44b4a6fc879f193e8a262c50fb07e0f7d81-apidata.googleusercontent.com/#/o/link/1/a0eb1cc1-3e9c-4175-9a52-be2d0b6cc455" class="tech_content LINK_INTERN">article 109;</a></td>
</tr>
<tr>
<td>5.</td>
<td>les intérêts ou redevances dus lorsque les conditions suivantes sont simultanément remplies :
<table class="custom-list" id="02812a11-d2d0-92cb-9c78-e9fa30f8fa1d" style="width: 955px;">
<tbody class="body lower-alpha-style one-bracket-separator">
<tr class="row">
<td class="cell">a)</td>
<td class="cell">le bénéficiaire des intérêts ou redevances est un organisme � caractère collectif au sens de l’article 159. Si le bénéficiaire n’est pas le bénéficiaire effectif, il y a lieu de prendre en considération le bénéficiaire effectif ;</td>
</tr>
<tr class="row">
<td class="cell">b)</td>
<td class="cell">l’organisme � caractère collectif qui est le bénéficiaire des intérêts ou redevances est une entreprise liée au sens de l’article 56 ;</td>
</tr>
<tr class="row">
<td class="cell">c)</td>
<td class="cell">l’organisme � caractère collectif qui est le bénéficiaire des intérêts ou redevances est établi dans un pays ou territoire figurant � l’annexe I des conclusions du Conseil de l’Union européenne relatives � la liste révisée de l’Union européenne des pays et territoires non coopératifs � des fins fiscales (ci-après « annexe I »), dans les conditions spécifiées ci-après.</td>
</tr>
</tbody>
</table><p></p><p>Toutefois, la disposition du présent numéro n’est pas applicable si le contribuable apporte la preuve que l’opération � laquelle correspondent les intérêts ou redevances dus est utilisée pour des motifs commerciaux valables qui reflètent la réalité économique.</p><p></p><p>Le terme « intérêts » employé dans le présent numéro désigne les intérêts et arrérages dus qui se rapportent � des créances de toute nature, assorties ou non de garanties hypothécaires ou d’une clause de participation aux bénéfices du débiteur, et notamment les intérêts et arrérages d’obligations d’emprunts, y compris les primes et lots attachés � ces titres. Les pénalisations pour paiement tardif ne sont pas considérées comme des intérêts au sens du présent numéro.</p><p></p><p>Le terme « redevances » employé dans le présent numéro désigne les rémunérations de toute nature dues pour l’usage ou la concession de l’usage d’un droit d’auteur sur une œuvre littéraire, artistique ou scientifique, y compris les films cinématographiques, d’un brevet, d’une marque de fabrique ou de commerce, d’un dessin ou d’un modèle, d’un plan, d’une formule ou d’un procédé secrets et pourdes informations ayant trait � une expérience acquise dans le domaine industriel, commercial ou scientifique.</p><p></p><p>À partir du 1er mars 2021, la disposition du présent numéro s’applique concernant les pays et territoires qui figurent � l’annexe I, dans sa dernière version, telle que publiée au Journal officiel de l’Union européenne � cette date. À partir du 1er janvier de chaque année qui suit, elle s’applique concernant les pays et territoires qui figurent � l’annexe I, dans sa dernière version au 1er janvier de l’année subséquente en question, telle que publiée au Journal officiel de l’Union européenne � cette date.</p><p></p><p>Toutefois, lorsque des pays et territoires ne figurent plus � l’annexe I, dans sa dernière version au 1er janvier d’une année subséquente, telle que publiée au Journal officiel de l’Union européenne � cette date, la disposition du présent numéro cesse de s’appliquer concernant ces pays et territoires dès la date de publication au Journal officiel de l’Union européenne de l’annexe I dans sa dernière version mentionnée ci-avant. En cas de version antérieure de l’annexe I au cours de la même année opérant pour la première fois le retrait du pays ou territoire en question, la disposition du présent numéro cesse de s’appliquer déj� dès la date de publication au Journal officiel de l’Union européenne de l’annexe I, dans une telle version antérieure opérant le retrait du pays ou territoire en question.</p></td>
</tr>
</tbody>
</table>
</div>
Thank you very much for help, I have look everywhere but I don't see anybody having this issue.
So turns out that itext wraps the content of a table inside the margins of the pdf only if the table (or any element) does not provide a fixed width or height. So the solution for me in this case was to remove the width and height from my html table.

sed remove anchor from text on specific href

I need to remove anchor in an HTML file, but only those with href containing todaycycling.com/tag.
What I do have:
<strong>Un Allemand peut en cacher un autre. Après Marcel Kittel, c\'est André Greipel qui a imposé sa pointe de vitesse à l\'issue de la cinquième étape du Tour d\'Italie. Dans une arrivée en faux plat montant, le sprinteur de la formation Lotto Soudal a produit un intense effort pour aller chercher la victoire devant Arnaud Démare (FDJ), encore deuxième, et Sonny Colbrelli (Bardiani-CSF).
What I am willing to have:
<strong>Un Allemand peut en cacher un autre. Après Marcel Kittel, c\'est André Greipel qui a imposé sa pointe de vitesse à l\'issue de la cinquième étape du Tour d\'Italie. Dans une arrivée en faux plat montant, le sprinteur de la formation Lotto Soudal a produit un intense effort pour aller chercher la victoire devant Arnaud Démare (FDJ), encore deuxième, et Sonny Colbrelli (Bardiani-CSF).
What I have tried so far:
sed 's|<a [^>]*todaycycling\.com\/tag\/[^>]*>\([^>]*\)</a>|\1|Ig' old.html > new.html
You were really close from the result, you can use the following sed command for this purpose:
sed 's#<a\s\+href\s*=\s*\\"http://todaycycling\.com/[^>]*>\([^<]*\)</a>#\1#g' tourDeFrance.txt
output:
<strong>Un Allemand peut en cacher un autre. Après Marcel Kittel, c\'est André Greipel qui a imposé sa pointe de vitesse à l\'issue de la cinquième étape du Tour d\'Italie. Dans une arrivée en faux plat montant, le sprinteur de la formation Lotto Soudal a produit un intense effort pour aller chercher la victoire devant Arnaud Démare (FDJ), encore deuxième, et Sonny Colbrelli (Bardiani-CSF).

Html rendering in ios

In order to render html tags in the description section of my ios app . im using "core text extension"
Normally it is working 100%.
But sometimes its not working.It is displayng a blank section.
ex - :
COMITE DE SELECTION « ARTWIGO »COMMENT ÇA MARCHE ? But et objectifs du comité de sélectionLe but de notre comité de sélection est d’opérer un choix, réfléchi et cohérent, des artistes présentés par ARTWIGO ; ceci, afin de préserver la qualité et le niveau nécessaires au succès de l’application et donc, de garantir la promotion des artistes.Cette sélection tient compte de critères spécifiques à chaque type d’expression artistique.Le comité est composé de spécialistes, indépendants, reconnus dans chaque domaine proposé par « Artwigo » et venant d’univers différents ;Le comité de sélection est constitué de 11 membres répartis de la manière suivante :- 3 membres « fondateurs » composant le bureau- 6 membres composant le comité consultatif.Christine Jamart, rédactrice en chef de l’Art Même. BruxellesCarine Fol, Directrice Artistique de La Centrale Electrique. BruxellesJoël Benzakin, Bela Edition. BruxellesJean-Louis Godefroid, Directeur Espace Contretype. BruxellesAndré Goldberg, resonsable Secteur Arts Plastiques au Centre Culturel Jacques Franck. BruxellesEmmanuel d’Autreppe, responsable de l’Annexe des Brasseurs (art contemporain). LiègeLa composition du bureau du comité est la suivante :Le Directeur du Comité : Jean-François Picaud Laethier de Morfouace La Secrétaire générale : Carole de Vleeschouwer le Rapporteur : Joël Van AudenhaegeLe comité de sélection se prononce à la majorité des voix.Confidentialité Le résultat des votes et leurs motivations ne sont pas fournis aux candidats.Les candidats sont juste informés, par email, de l’acceptation ou du rejet de leur candidature par la Secrétaire générale.Référence jfplm08-10-2012
Im rendering this using the folowing code structure
htmlText = [htmlText stringByReplacingOccurrencesOfString:#"''" withString:#"'"];
NSData *data = [htmlText dataUsingEncoding:NSUTF8StringEncoding];
NSAttributedString *string = [[NSAttributedString alloc] initWithHTML:data options:nil documentAttributes:NULL];
[DTAttributedTextContentView setLayerClass:[CATiledLayer class]];
DTAttributedTextView *_textView = [[DTAttributedTextView alloc] initWithFrame:frame];
_textView.textDelegate = self;
_textView.attributedString = string;
[self.view addSubview:_textView];
I dont know the reason but its not rendering properly
Is thr any solution for this issue
Thank you