Php函数不能与javascript一起使用
我有一些php和javascript,一切正常,我没有收到任何错误消息。我可以将数据毫无错误地发布到数据库中。一切看起来都不错,但我不能在php中使用某些函数 例如 我有一个textarea,我用ajax将它的数据发送到一个php文件。在php文件中需要使用str_replace函数。我可以在同一个php文件中向数据库插入数据,不会出现任何错误,但我尝试使用的str_replace或mysqli_real_escape_string等函数不起作用 原因是什么 这里是密码Php函数不能与javascript一起使用,php,javascript,Php,Javascript,我有一些php和javascript,一切正常,我没有收到任何错误消息。我可以将数据毫无错误地发布到数据库中。一切看起来都不错,但我不能在php中使用某些函数 例如 我有一个textarea,我用ajax将它的数据发送到一个php文件。在php文件中需要使用str_replace函数。我可以在同一个php文件中向数据库插入数据,不会出现任何错误,但我尝试使用的str_replace或mysqli_real_escape_string等函数不起作用 原因是什么 这里是密码 $(".edit
$(".editBoxButton").click(function(){
var yazi = jQuery('#editInput').val();
$.ajax({
type: 'POST' ,
url : 'ajax/editEntry.php',
data: {
text: yazi,
},
success : function(d){
alert(d);
location.reload(); //refresh
}
});
});
ajax/editEntry.php
<?php
$yeniyazi=$_POST['text'];
$yeniyazi = str_replace("\n", "<br>", $yeniyazi);
$s=$yeniyazi;
echo json_encode($s);
?>
在警报中,我静止不动\n。它不会被替换
我没有收到任何错误。只有stru_替换不起作用,这是我的问题。除了str_replace外,它工作正常。您可能应该执行以下操作:
$yeniyazi=nl2br($yeniyazi)代码>
如果确实要手动替换,请使用正则表达式
$yeniyazi=preg\u replace(“/\r?\n/s”、“
”、$yeniyazi)代码>实际上,您必须用另一个来转义\或使用单引号
$val = str_replace("\\n" , "<br>", $val);
$val=str_替换(\\n“,“
”,$val);
或者,您可以在一行中这样做:
<?php
echo json_encode(nl2br($_POST['text']));
我希望这个例子能帮助您:
<?php
// Order of replacement
$str = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '<br />';
// Processes \r\n's first so they aren't converted twice.
$newstr = str_replace($order, $replace, $str);
// Outputs F because A is replaced with B, then B is replaced with C, and so on...
// Finally E is replaced with F, because of left to right replacements.
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);
// Outputs: apearpearle pear
// For the same reason mentioned above
$letters = array('a', 'p');
$fruit = array('apple', 'pear');
$text = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output;
?>
我在javascript和PHP中使用\n
时也有问题
当前环境:
- PHP 5.3.10
- Javascript
- XHTML1.0
问题是:
....
if (rowcount == 5) {
openShipments += '\n';
rowcount = 0;
}
....
当使用下面的\\n
按钮时,它会工作:
....
if (rowcount == 5) {
openShipments += '\\n';
rowcount = 0;
}
....
请确保对特殊字符使用双引号作为\n(发生在我身上)。我知道你的答案有双引号,以防你没有复制。JSON_encode将数组/对象转换成字符串。您似乎已经在处理字符串,因此不需要json_编码。还有一个好处,它将处理不同形式的新行(即。\r\n、\n\r\n和\r)