首页 > 解决方案 > 在 PHP 或 Javascript 中将 ASCII 字符转换为 HTML 数字代码

问题描述

我正在寻找将一串 ASCII 字符(即:a)转换为指定它们所代表的 ASCII 代码的 html 实体(即:a;)。

但这次不是转换整个 HTML 文档,而是只针对 ASCII 字符 忽略安全编码字符(&、换行符、<、>、“和 ')和 html 关键字,如(class、div、h1、span 等)

所以这应该转化为类似

<div class="login-area-wrapper">
    <div class="login-area">
         <h1>Click here to Login</h1>
             <span class="create-account-link" id="createAccountSpan">
                    No Account?
                    <a href="https://www.sample.com/signup/" id="createAccount">Sign up</a>

这个:

<div class="&#108;&#111;&#103;&#105;&#110;&#45;&#97;&#114;&#101;&#97;&#45;&#119;&#114;&#97;&#112;&#112;&#101;&#114;">
    <div class="&#108;&#111;&#103;&#105;&#110;&#45;&#97;&#114;&#101;&#97;">
         <h1>&#67;&#108;&#105;&#99;&#107;&#32;&#104;&#101;&#114;&#101;&#32;&#116;&#111;&#32;&#76;&#111;&#103;&#105;&#110;</h1>
             <span class="&#99;&#114;&#101;&#97;&#116;&#101;&#45;&#97;&#99;&#99;&#111;&#117;&#110;&#116;&#45;&#108;&#105;&#110;&#107;" id="&#99;&#114;&#101;&#97;&#116;&#101;&#65;&#99;&#99;&#111;&#117;&#110;&#116;&#83;&#112;&#97;&#110;">
                    &#78;&#111;&#32;&#65;&#99;&#99;&#111;&#117;&#110;&#116;&#63;
                    <a href="&#104;&#116;&#116;&#112;&#115;&#58;&#47;&#47;&#119;&#119;&#119;&#46;&#115;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#47;&#115;&#105;&#103;&#110;&#117;&#112;&#47;" id="&#99;&#114;&#101;&#97;&#116;&#101;&#65;&#99;&#99;&#111;&#117;&#110;&#116;">&#83;&#105;&#103;&#110;&#32;&#117;&#112;</a>

我希望我的解释不是那么悲惨...

标签: javascriptphphtml

解决方案


对我来说看起来很疯狂。:) 首先我会为它编写一个正则表达式,尝试https://regexr.com/输入您的代码并找到与您要查找的内容匹配的正确表达式。例如: "([^"]*)" 这会在引号中找到所有内容,但您可能需要在您的问题中添加一个正则表达式标签,以让更有资格的人准确地弄清楚它。


推荐阅读