我遇到了一些麻烦:
的Javascript
var data = $.param ( { caption: captionBox.val() } );
//then I send the str via ajax
PHP
urldecode ( $_POST ( 'caption' ) );
preg_match("!caption=(?<caption>[a-zA-Z0-9\!\#\@%\$\(\)\[\]\+\?\.\^\\\;\:\<\> \&']+)!", $caption, $matches);
适用于普通字符串和具有大多数特殊字符的字符串,但是,双引号永远不会起作用。我很确定这是reg ex的一个问题,但是我试过“,”,“\”“ - 很多变化,但仍然没有好处。
有什么想法吗?
答案 0 :(得分:0)
即使POST主体在使用JavaScript发送数据时看起来像“caption = ...”,您也不必手动解析它。 PHP为您完成工作:
$captionBox = urldecode($_POST['caption']);
$captionBox
现在包含您的字符串,由javascript中的captionBox.val()
提供。