交换文字​​/添加特定字词html / php代码

时间:2019-02-14 00:51:38

标签: php html

我希望将一些非常具体的编码转换为可以提高其可读性的内容。

示例输入

Calulate more

所需的输出

OUT PUT:
Copper Box v3;
S/N:25304;FW:1.07.12;

;a-b;a-GND;b-GND;
U=;0.74 V;3.23 V;0.48 V;
U~;0.03 V;0.02 V;0.02 V;
C;232.5 nF;11.87 nF;30.73 nF;
ISO;2.28 MΩ;237 kΩ;2.19 MΩ;
R;- -;

ΔC;- -;
Length;  - m;

背景

在业余时间,我将印刷电路板作为一种业余爱好,并尝试为人修复损坏的机器,例如咖啡机。

我有一台新设备,可以用它轻松地测量事物。

但是设备仅提供我可以扫描的QR码。看起来像上面提供的“示例输入”。

我想使阅读此类文本更加容易。

手动更改它是可能的;但是要花很多时间有时我每小时有5次这样的测量。

问题

我希望制作一个文本框,将其粘贴到其中,按“美化”按钮,并提供进行翻译的代码。

我正在阅读this,甚至发现了一个叫做“汉娜代码”的东西,但这并没有给我寻找的一小部分...

我了解一点PHP和HTML。是否可以用该语言使用它?或者我需要学习如何使用JavaScript或其他方法吗?

您能指出我正确的方向吗?我很想解决这个难题,但我什至不知道从哪里开始。...

2 个答案:

答案 0 :(得分:1)

这是一个JavaScript解决方案。您可以直接将输出粘贴到第一个框中,第二个框将立即提供美化的翻译。

当然,我不得不对原始文本的语法做一些假设,所以让我知道这是如何满足您的需求的:

document.querySelector("#source").addEventListener("input", function () {
    const lines = this.value.split(/^;/m).slice(1).join("").split("\n");
    const cols = lines.shift().toUpperCase().split(";")
                      .filter(Boolean).map(code => code.slice(0,3));
    document.querySelector("#target").value = "OUT PUT:\n" +
        lines.filter(line => /;\d/.test(line))
            .map(line => line.split(";").filter(Boolean))
            .map(([s, ...v]) => s + "\n" + v.map((value, i) => 
                cols[i] + " " + value
            ).join("\n"))
            .join("\n");
});
<table>
    <tr>
        <th>Paste output here:</th><th>Beautified:</th>
    </tr>
    <tr>
        <td><textarea id="source" cols="30" rows="18"></textarea></td>
        <td><textarea id="target" cols="30" rows="18" readonly></textarea></td>
    </tr>
</table>

答案 1 :(得分:0)

您的问题非常广泛,但请仔细阅读,我将假设您对特定的编码示例不感兴趣,而对策略更感兴趣。我们正在寻找HTML中的此类问题,而我会毫无疑问地在JavaScript中对其进行编码。

在您提到的示例(即HTML)中,JavaScript(JS)和PHP之间的主要区别在于,PHP是一种服务器端语言,而JS是基于客户端的。这意味着要让PHP解决此问题,您需要一个Web服务器(一个用于承载脚本的位置),一种发布到服务器的方法,一个可以为您进行转换的服务器上的PHP脚本。

除了PHP解决方案之外,您还需要HTML发出一种方法,以使服务器端请求为您进行翻译(翻译意味着将数据的第一种形式转换为第二种形式),即HTML页面需要询问答案的网络服务器,将原始数据发布到服务器,然后接收(捕获)结果并显示出来……通常,所有这些操作都是使用JavaScript并使用一种称为Ajax的技术完成的。

解决没有JavaScript的服务器问题的另一种方法是将HTML FORM标记与关联的INPUT一起使用,以将数据提交到服务器。然后,服务器将用HTML呈现一个全新的页面,其中包含已更改的数据,并将该页面返回给客户端(您的Web浏览器),以旧的HTML页面替换为更新的HTML页面。很多工作!

一个更简单的解决方案是只使用JavaScript,它将使您能够在客户端(网络浏览器)中完成所有工作,而无需网络服务器,重新呈现页面等。如果您只是在探索编码,那就开始吧-从您的问题看来就是如此。

我将研究JavaScript和一些简单的教程来读取/设置页面上的值。至于如何在JS中实际编写函数以进行数据转换...如果您可以假设数据是“公平的”(即没有错误,错误等),这是相对简单的,否则会出现问题确定数据的准确性比实际转换要复杂得多(在计算机科学中通常是这种情况)。

所有这些,我认为这是一个开始学习JS的绝妙项目,并且认为这是一个不错的起点。看一下这些示例,了解JS的一些基础知识,以及如何将数据从一个地方移到另一个地方。

https://formidableforms.com/knowledgebase/javascript-examples/