用多个通配符替换正则表达式可在PHP中工作,而不能在JavaScript中工作 - javascript

我正在尝试为两个Markdown解析器实现中心对齐:

在Parsedown的PHP中(成功)
在Bootstrap Markdown的JavaScript中(未成功)

我遵循并找到最简单的方法是使用最终的HTML输出,只需将内联样式捕捉到标签上即可。

以下正则表达式可以满足我的需要,它会根据需要将style="text-align:center;"添加到到目前为止的任何元素*:

$text = preg_replace('/\<(.*?)\>\-&gt;(.*?)&lt;\-\<\/(.*?)\>/', '<$1 style="text-align:center;">$2</$3>', $text);

即,<p>text</p>变为<p style="text-align:center;">text</p>

但是,当我尝试将其移植到JavaScript中以使其也可以在客户端上预览时,该模式与应有的不匹配:

content = content.replace('/\<(.*?)\>\-&gt;(.*?)&lt;\-\<\/(.*?)\>/', '<$1 style="text-align:center;">$2</$3>');

content中的替换不会发生。

我知道PHP和JavaScript的Regex之间有细微的差别,但是我发现双方都可以正常工作的示例示例。

*如果有人想知道,我还将成功地将中心对齐方式添加到已经具有样式属性的标签中-到目前为止,仅在服务器端。

参考方案

您需要将文字语法用于JavaScript中的正则表达式,如下所示:

content = content.replace(/\<(.*?)\>\-&gt;(.+)&lt;\-\<\/(.+)\>/gi, '<$1 style="text-align:center;">$2</$3>');

请注意,正则表达式末尾的gi仅启用全局搜索(即替换所有与模式匹配的匹配项)和不区分大小写的匹配。从技术上来说,它们都是可选的,但是您很可能肯定希望启用g标志。但是,保留i标志由您自己决定(例如,取决于您的内容是否包含&GT;)。

剃刀付款集成->如何通过关闭按钮X检测剃刀付款模型是否关闭 - javascript

当用户关闭而无需付款时,我在CI框架中使用Razorpay,请创建razor支付模型,然后取消订单,我希望按状态更改为已取消的状态触发查询。所以我怎么能检测到这一点。我已经通过单击jQuery单击关闭功能但无法使用... javascript大神给出的解决方案 Razorpay提供了JS方法来检测模式关闭。您编写的任何JS代码都不会在结帐页面上运行,因为它是…

JavaScript将PHP中的字符串和整数传递给函数 - javascript

我正在尝试将字符串和整数都传递到同一函数中,但是引号引起了问题。我发现错误出在echo $q->info部分,我必须在此代码上使用双引号。有人可以帮我写这个$q->info,但不能获得真正的价值吗?到目前为止,我的代码是<td><a href="javascript:add(<?php echo $q->i…

html onClick打开url存储在php变量中 - javascript

以下是我的代码,正在获取Uncaught SyntaxError: Unexpected token },但是我的代码中没有看到任何}。 window.open期望用引号引起来的url,我尝试了单引号和双引号的不同组合,但不起作用并且也无法在echo中转义双引号。请帮助谢谢..<?php $a = "https://www.google.co…

在提交时在表单操作中获取变量丢失 - javascript

            当表单由onchange事件提交时,它不会保留get变量view。任何想法为什么会发生这种情况?提交后,这是它进入的网址,index?month=February&year=2014<form action="index?view=list" class="pure-form pure-fo…

粗糙的Unicode->没有CLDR的语言代码? - javascript

我在写字典应用。如果用户键入Unicode字符,我想检查该字符是哪种语言。例如字 - returns ['zh', 'ja', 'ko'] العربية - returns ['ar'] a - returns ['en', 'fr', …