【发布时间】:2010-09-07 00:07:05
【问题描述】:
在我的网络表单提交后,一个正则表达式将应用于服务器端的用户输入(通过 PHP)。我希望在客户端实时运行相同的正则表达式,以向用户展示真正的输入是什么。这与 Stack Overflow 页面上的 Preview 部分几乎相同,除了后端使用 PHP 而不是 .NET。
为了让我的 PHP 和 JavaScript 正则表达式的行为完全相同,我需要记住什么?
【问题讨论】:
标签: php javascript regex
在我的网络表单提交后,一个正则表达式将应用于服务器端的用户输入(通过 PHP)。我希望在客户端实时运行相同的正则表达式,以向用户展示真正的输入是什么。这与 Stack Overflow 页面上的 Preview 部分几乎相同,除了后端使用 PHP 而不是 .NET。
为了让我的 PHP 和 JavaScript 正则表达式的行为完全相同,我需要记住什么?
【问题讨论】:
标签: php javascript regex
呵呵,刚才有人问过这个问题,Jeff 指出:
http://www.regular-expressions.info/refflavors.html。
比较了跨工具和语言的正则表达式功能。
【讨论】:
如果正则表达式很简单,那么应该没有问题,因为正则表达式的基础知识在大多数实现中都是通用的。
对于细节,最好研究这两种实现:
http://www.regular-expressions.info/php.html
http://www.regular-expressions.info/javascript.html
Javascripts 实现可能是更基本的,所以如果你想要一种最低公分母的方法,那么就瞄准那个。
【讨论】:
我发现正则表达式的不同实现通常在它们支持的内容上存在细微差别。如果您想完全确定前端和后端的结果相同,最省钱的选择是对 PHP 后端进行 Ajax 调用,并为两个正则表达式评估使用相同的 PHP 代码。
【讨论】:
@LKM AJAX 显然是这里的赢家。这也将允许您遵循DRY 原则。为什么要使用 Javascript 和 PHP 编写解析代码?
【讨论】: