使用 PHP 向表单元素添加属性

Adding Attribute to Form Element Using PHP

我正在使用 CMS 和表单生成器扩展,该扩展允许我在页面加载时 运行 PHP 脚本。

我还可以向单个元素添加自定义 'Additional Attributes','Additional Attributes' 部分是一个自由文本字段,允许我输入自定义文本,例如maxlength="20",placeholder="Admin Only"你可以看下面

我有一个包含以下元素的表单(为简洁起见仅显示四个,实际表单包含更多);

// user fields
<input type="text" value="" name="form[Name]" id="Name" class="form-control" maxlength="20">
<input type="text" value="" name="form[Address]" id="Address" class="form-control" maxlength="20">
// admin only fields
<input type="text" value="" name="form[AdminName]" id="AdminName" class="form-control" maxlength="20" placeholder="Admin Only">
<input type="text" value="" name="form[AdminComment]" id="AdminComment" class="form-control" maxlength="50" placeholder="Admin Only">

仅使用 PHP(而不是 DOM 解析器)我需要能够为所有表单元素添加 readonly 属性仅供 管理员使用 。在上面的表格中,这是最后两个输入。

<?php
    if (userid == something) {
        // add 'readonly' attribute to all admin inputs
    } 
?>

我正在考虑以某种方式使用 str_replace 或表单 'Additional Attributes' 功能?

我无法使用 Javascript / JQuery。

我找到的解决方案是向 html 元素添加自定义属性,例如xyz,然后使用 str_replace 以将此属性替换为 readonly

表单输入是从 PHP 变量 $formData 生成的。

<input type="text" value="" name="form[Name]" id="Name" class="form-control" maxlength="20" xyz>

<?php
    if (userid == something) {
        str_replace("xyz","readonly",$formData)
    } 
?>