php / php/php-src

get_html_translation_table() inconsistent results with ENT_XHTML?

Ouverte
#11,527 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Bug Status: Needs Triage
Langage dominant
C
Étoiles
40.4k
Forks
8.2k
Merge moyen
2 j 13 h
PR mergées (30 j)
96

Description

Description

The following code:

<?php

print_r(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES | ENT_SUBSTITUTE | ENT_XHTML, "UTF-8"));
print_r(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_SUBSTITUTE | ENT_XHTML, "UTF-8"));

Resulted in this output:

Array
(
    ["] => &quot;
    [&] => &amp;
    ['] => &apos;
    [<] => &lt;
    [>] => &gt;
)
Array
(
    ["] => &quot;
    [&] => &amp;
    ['] => &#039;
    [<] => &lt;
    [>] => &gt;
    [ ] => &nbsp;
    // ...
    // ...
)

But I expected the specialchars table to be a subset of the entities table. The single quotes in the entities table is substituted using the decimal notation, while it uses the html5 named entity notation in the specialchars table.

PHP Version

PHP 5.4 to PHP 8.2

Operating System

mint/ubuntu 22.04

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire les appels à get_html_translation_table() de l’issue sur une build PHP prise en charge, en comparant HTML_SPECIALCHARS et HTML_ENTITIES avec ENT_XHTML. Suivez l’implémentation et les tests existants pour ces flags ; le travail est terminé lorsque la table des specialchars possède des correspondances cohérentes pour les guillemets avec la table des entities, y compris la représentation de l’apostrophe.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
backend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.