将javascript输入转换为php-string

时间:2012-04-26 14:48:53

标签: php javascript

我发现这个脚本的预览有点类似于stackoverflow上使用的那个。当用户输入帖子时,我希望它甚至可以在预览中显示之前转换为php字符串。这将是为了使用mysql_real_escape_string以及其他东西。

如何在显示之前将其变成php-string?在我逃脱字符串后,知道如何让它再次显示也是非常好的。

它基本上包含这两部分代码

1

<script type="text/javascript">
    function preview(field) {
        var p = document.getElementById('input_exercise');
        p.innerHTML = field.value;
    }

</script>

2

<textarea style="width:500px; height:150px;" onkeypress="preview(this);"></textarea>
<p id="input_exercise"></p>

由于

1 个答案:

答案 0 :(得分:0)

我认为有点混淆。 很多开发人员一开始并不了解javascript是在客户端呈现的,而模板(在你的情况下是php代码)是在服务器端呈现的。

这是什么意思?

这意味着服务器正在运行php代码,并向浏览器输出HTML字符串。 此HTML字符串包含带有javascript的脚本段。 完成php代码后,代码将离开服务器并通过网络传输到浏览器。一旦进入浏览器,浏览器就不知道哪些代码生成了HTML。它也可能是一个静态资源。

为了在用户输入上运行php代码,用户输入必须返回服务器。 并且为了向用户显示任何代码输出,输出必须从服务器返回到浏览器。

这次往返是以两种方式之一完成的。 第一个是表单,它刷新整个页面(不适合这种情况。) 另一个是AJAX。

AJAX是一种向服务器发送小块信息,在服务器端呈现它们并在呈现为javascript函数后将其恢复的方法。这有点像将textarea输入转换为“php字符串”。 实际发生的是 - 你将文本区域输入发送到服务器,服务器将呈现一个php模板(其中它将简单地操作数据上的“mysql_real_escape_string”函数),渲染的结果将返回到javascript回调,然后你可以在“预览”div中取悦它。

Here a cool tutorial我发现了使用jquery的ajax和php。 (使用jquery)

希望这有帮助。

javaspcript代码应该类似于以下内容

$.ajax({ 'url' : '/render-string-for-preview', 
          'type':'post',
          'data' : { 'text' : $("textarea").val() },
          'success' : function(result) {  $("#input_excercise").html( result ) }
       });

你应该在“/ render-string-for-preview”上添加一个资源,它只会做一些像(不是php开发人员......)

  <?  mysql_real_escape_string ( POST["text"]) ?>

就是这样......