如何压缩PHP上的HTML字符串?

时间:2014-07-03 02:07:53

标签: javascript php jquery

如何在PHP上压缩字符串?例如,我有一个名为form_dropdown()的PHP函数,它返回到:

<select name="selecOP" id="selecOP">
<option value=" ">Select selecOP</option>
<option value="1">test1</option>
<option value="2">test2</option>
<option value="2">test2</option>
</select>

然后我将php函数调用为JavaScript:

$("#addrow").on("click", function () {

        counter = $('#myTable tr').length - 2;

        var newRow = $("<tr>");
        var cols = "";

        cols += '<td><?php echo form_dropdown("selecOP' + counter + '"); ?></td>';
        cols += '<td><textarea name="price' + counter + '" rows="1px" cols="50px"></textarea></td>';

        cols += '<td><button class="ibtnDel btn btn-xs btn-danger"></i> Delete</button></td>';
        cols += ' </td>';
        newRow.append(cols);
        if (counter == 4) $('#addrow').attr('disabled', true).prop('value', "You've reached the limit");
        $("table.order-list").append(newRow);
        counter++;
    });

我的问题是浏览器返回错误Uncaught SyntaxError: Unexpected token ILLEGAL。我用直接格式手动尝试它并且它可以工作但是使用块格式它会给我一个错误。

预期产出:

<select name="selecOP' + counter + '" id="selecOP"><option value="1">test1</option><option value="2">test2</option></select>

1 个答案:

答案 0 :(得分:2)

在JavaScript函数中,您可以调用此函数:

$("#addrow").on("click", function () {

在JavaScript函数中你有这个代码snipet:

cols += '<td><?php echo form_dropdown("selecOP' + counter + '"); ?></td>';

这是完全错误的。 JavaScript是一种基于浏览器的语言。 PHP是基于服务器的;它是一个超文本预处理器。正如in the official documentation所述:

  

服务器端脚本。这是最传统和最主要的目标   PHP的字段。你需要三件事来完成这项工作。 PHP解析器   (CGI或服务器模块),Web服务器和Web浏览器。你需要   使用连接的PHP安装运行Web服务器。你可以访问   使用Web浏览器输出PHP程序,查看PHP页面   通过服务器。

意味着要使PHP工作,它必须存储在Web服务器上,然后当请求页面时,Apache-通过PHP组件 - 运行PHP脚本,它执行某些操作。要么将内容输出到Web浏览器,要么在服务器端执行其他操作。

当您在JavaScript中执行的操作时,您将在客户端浏览器窗口中放置原始的,未处理的PHP代码。它什么都不做。

因此,您需要重构代码,以便使用AJAX调用来允许JavaScript与服务器进行通信。运行PHP代码。但是按原样,这段代码无法按照您的描述进行操作。它需要重构。