Pob canllaw

Pam mae testun yn dangos «&» a sut i’w drwsio

Cyhoeddwyd · Diweddarwyd 2 munud o ddarllen

Pan fo testun yn dangos «&» yn lle «&», mae endid HTML wedi’i amgodio unwaith yn ormod. Mae’r teclyn yn datgodio un lefel ar y tro ac yn dweud wrthych pan fo un ar ôl.

Beth yw endid HTML

Dilyniant o arwyddion sy’n cynrychioli nod sydd wedi’i gadw ar gyfer cod tudalen yw endid. Mae pump yn gyffredin.

NodEndid
&&
<&lt;
>&gt;
"&quot;
' (collnod syth)&#039;

O ble mae’r amgodio dwbl yn dod

Weithiau mae testun yn mynd drwy ddwy system sydd bob un yn amgodio: golygydd, yna templed tudalen. Mae pob tro yn trawsnewid yr «&» yn yr endid blaenorol. Gydag Amgodio/datgodio endidau HTML, mae amgodio «Tom & Jerry» yn rhoi «Tom &amp; Jerry», yna mae amgodio’r canlyniad hwnnw yn rhoi «Tom &amp;amp; Jerry».

CamTestun canlyniadol
Testun gwreiddiolTom & Jerry
Wedi’i amgodio unwaithTom &amp; Jerry
Wedi’i amgodio ddwywaithTom &amp;amp; Jerry

Mae’r porwr yn datgodio un lefel wrth arddangos. Felly mae testun a amgodiwyd ddwywaith yn dangos gydag «&amp;» yn lle «&».

Datgodio un lefel ar y tro

Mae’r teclyn yn tynnu un lefel o endidau ar bob tro. Os yw’r canlyniad yn dal i gynnwys endidau, mae’r modd «Both» yn eu nodi ac rydych yn rhedeg y datgodio eto ar y canlyniad.

TestunDatgodio cyntafAil ddatgodio
Tom &amp;amp; JerryTom &amp; JerryTom & Jerry
&amp;lt;b&amp;gt;gras&amp;lt;/b&amp;gt;&lt;b&gt;gras&lt;/b&gt;<b>gras</b>

Mae datgodio un lefel yn unig yn osgoi dadwneud amgodio bwriadol: mae enghraifft o god sydd i ddangos «&amp;» ar y sgrin yn cael ei hysgrifennu «&amp;amp;» yn y dudalen.

Acenion a symbolau

Mae’r datgodio yn deall pob endid wedi’i enwi sy’n gorffen â hanner colon, nid y pump cyffredin yn unig. Mae «caf&eacute; &agrave; 5&nbsp;&euro; &copy; 2026» yn rhoi «café à 5 € © 2026», gyda’r bwlch nad yw’n torri yn dod yn fwlch go iawn nad yw’n torri.

Endidau rhifol

Mae endidau rhifol hefyd yn cael eu datgodio: mae «&#233;t&#xE9;» yn rhoi «été», ac mae «&#x1F600;» fel «&#128512;» yn rhoi’r un emoji.

Yr hyn y mae’r teclyn yn ei adael yn gyfan

  • Mae endid anhysbys fel «&inconnue;» yn aros fel y mae.
  • Ni chyffyrddir ag endid heb hanner colon terfynol, fel «&amp» neu «&lt» mewn brawddeg.
  • Mae cyfeiriad gyda pharamedrau, fel «https://exemple.fr/?a=1&param=2&copy=4», yn aros yn gywir: ni chymerir «&param» a «&copy» yno am endidau.

Amgodio cod i’w ddangos

I ddangos darn o god mewn tudalen, amgodiwch ef unwaith. Mae’r testun «<a href="x">l’été & plus</a>» yn rhoi «&lt;a href=&quot;x&quot;&gt;l&#039;été &amp; plus&lt;/a&gt;». Nid yw llythrennau acennog yn cael eu hamgodio, dim ond y pum nod sydd wedi’u cadw.

Osgoi’r broblem

Amgodiwch unwaith yn unig, ar y funud olaf, wrth ysgrifennu i’r dudalen. I ddisodli gweddillion amgodio gwael ar y cyd, mae Chwilio a disodli yn addas. Mae cyfeiriadau gwe yn dilyn amgodio arall, a eglurir yn Base64, hash a chyfeiriad wedi’i amgodio, peidiwch â’u drysu.

Gwirio’r canlyniad

  1. Rhedwch y datgodio eto cyhyd â bod y teclyn yn nodi endidau sy’n weddill.
  2. Cymharwch â’r testun gwreiddiol ar y sgrin.
  3. Gwiriwch fylchau nad ydynt yn torri ac emoji.

Amgodio/datgodio endidau HTML