Merci de ta réponse
Je pense que j'ai mal expliqué le problème, je vais essayer autrement.
Le propriétaire du site écrit le contenu en utilisant un HTML simplifié.
Voici le véritable code (https://tests.osirisnet.net/news/@n_10_20.htm lignes 83 à 98)
<section lang="en">
<p class="top10"><strong>(1) An Android app provides reliable and user-friendly information on more than 30000 Egyptian words:</strong><br>
https://play.google.com/store/apps/details?id=com.aed_ancientegyptiandictionary<br>
You can search for transcription, for German or English translation, or for hieroglyphs used for the spelling of the word forms. Please check the tutorials: https://youtu.be/_s58Ud5rB7c and https://youtu.be/bp7MYCjavOs</p>
<p class="top10"><strong>(2) The lexical entries are collected on the website</strong> https://simondschweitzer.github.io/aed/<br>
or in a three-volume PDF (don't miss them!): https://doi.org/10.5281/zenodo.4073311, <br> https://doi.org/10.5281/zenodo.4073317, and https://doi.org/10.5281/zenodo.4073321<br>
The entries offer selected references, collocation partners, hieroglyphic spellings, information on roots, on grammatical usage, on chronological and geographical distribution. For an overview: https://youtu.be/O357NG49LyQ</p>
<p class="top10"><strong>(3) The approximately 11000 texts containing the references are digitally published</strong> in TEI-XML and thus guarantee verifiability: http://doi.org/10.5281/zenodo.3580939<br>
There is a schema representing Egyptian texts in TEI. You can use it for your own text encodings:<br> https://github.com/simondschweitzer/aed-tei/blob/v1.0/files/aed_schema.xsd<br>
Furthermore, a thesaurus for object type terms, for date terms and more is available:<br> https://github.com/simondschweitzer/aed-tei/blob/v1.0/files/thesaurus.xml<br>
I am currently developing a digital tool in ANNIS (https://corpus-tools.org/annis/) that makes the data accessible for corpus linguistic research. A beta version will be presented soon.<br>
This data and the data of the AED project are published under the free license CC-BY-SA 4.0, which allows to use them for further research. </p>
</section>
C'est un expert en égyptologie, pas en écriture de HTML.
Mon job ne consiste pas à transformer son HTML en quelque chose de plus correct, mais à écrire des fonctions JavaScript qui lui donnent une meilleure allure
Pour faire ce texte, il a fait un copier/coller à partir d'une page HTML, je suppose (et non pas à partir du source).
Comme cette <section> contient de nombreuses adresses web, je me suis dit qu'il serait bien de faire en sorte que ces adresses soient remplacées par des liens vers les pages en question.
Le script de transformation est lancé à la fin du chargement de la page, il fait pas mal de transformations, celle-ci n'est qu'une transformation de plus.
Ce que fait le script:
1) rechercher les textElement contenant la chaîne de caractère "https://..."
2) remplacer ces textElements par des documentFragment contenant les parties "non adresses" sous forme de texElement et les partie "adresses" par des <a href="https://...">https://...</a>
Le code se trouve dans
https://tests.osirisnet.net/common.js lignes 1499 à 1549
Comme je l'ai expliqué plus haut, la solution que j'ai fini par utiliser pour traiter le problème est
1) de décomposer le contenu du textElement initial en "mots" par un split(" ")
2) de regarder le contenu de chaque "mot", regarder s'il commence ou non par
https:// et remplir le documentFragment mot à mot.
Ça marche, pas de problème, mais j'aurais préféré pouvoir couper la chaîne de caractère en segments plus longs plutôt que de le faire mot à mot par un
text.match(/.../g)
La question est d'écrire la Regex correspondante.
Modifié par PapyJP (31 Oct 2020 - 18:34)