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

约翰·威兹

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

  1. PHP中用于Parsedown(成功)
  2. JavaScript中进行Bootstrap Markdown操作(不成功)

我遵循并找到最简单的方法是使用最终的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之间有细微的差别,但是我在这里都发现了双方都能正常工作的示例。


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

caleb531

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Python

正则表达式可在python模拟器中工作,但不能在perl中工作

来自分类Dev

正则表达式可在浏览器中工作,但不能在NodeJ中工作

来自分类Dev

正则表达式搜索可在Notepad ++中工作,但不能在cygwin grep中工作

来自分类Dev

为什么我的正则表达式可以在PHP中工作,但不能在JavaScript中工作?

来自分类Dev

简单的正则表达式/:[az] + /不能在javascript中按预期工作

来自分类Dev

正则表达式可在Shell中工作,但不能通过Perl脚本工作

来自分类Dev

正则表达式虽然在Javascript中工作,但不能在C#中工作

来自分类Dev

为什么正则表达式可以在javascript中工作,但不能在ruby中工作?

来自分类Dev

正则表达式可以在Pythex上正常工作,但不能在Python中工作

来自分类Dev

正则表达式可以工作,但是不能在Python中工作吗?

来自分类Dev

为什么此正则表达式在Vim中不能在SublimeText中工作?

来自分类Dev

正则表达式不能在asp.net(.aspx页)中工作

来自分类Dev

为什么正则表达式不能在Pywinauto中很好地工作

来自分类Java

为什么此正则表达式不能在Java中按预期工作?

来自分类Dev

正则表达式+通配符中的PHP多个值

来自分类Dev

为什么我的正则表达式不能在c ++中工作,但可以在Python中工作?

来自分类Dev

正则表达式可以在所有.net引擎中在线工作,而不能在Powershell中工作吗?

来自分类Dev

正则表达式用通配符替换多个组

来自分类Dev

正则表达式可在Notepad ++中运行,但不能在Java中运行

来自分类Java

的replaceAll方法不能正常工作 - 用正则表达式替换正则表达式

来自分类Dev

Python正则表达式可在线运行,但不能在代码中运行

来自分类Dev

为什么带有捕获组的此正则表达式不能在bash中工作?

来自分类Dev

为什么角度模式正则表达式不能在typecrip中正常工作在html中

来自分类Dev

正则表达式与 sed 不能正常工作,但在 regex101 中工作

来自分类Dev

为什么我的正则表达式不能在C#中工作,而在其他文本编辑器中工作?

来自分类Dev

用正则表达式替换Javascript无法正常工作

来自分类Dev

正则表达式可在.NET中使用,但不能在javascript中使用

来自分类Dev

如何从javascript中的字符串中删除多个空格(不能使用正则表达式替换功能)?

来自分类Dev

正则表达式(PHP中的preg_match):输出数组中的最后一组不能正常工作

Related 相关文章

  1. 1

    正则表达式可在python模拟器中工作,但不能在perl中工作

  2. 2

    正则表达式可在浏览器中工作,但不能在NodeJ中工作

  3. 3

    正则表达式搜索可在Notepad ++中工作,但不能在cygwin grep中工作

  4. 4

    为什么我的正则表达式可以在PHP中工作,但不能在JavaScript中工作?

  5. 5

    简单的正则表达式/:[az] + /不能在javascript中按预期工作

  6. 6

    正则表达式可在Shell中工作,但不能通过Perl脚本工作

  7. 7

    正则表达式虽然在Javascript中工作,但不能在C#中工作

  8. 8

    为什么正则表达式可以在javascript中工作,但不能在ruby中工作?

  9. 9

    正则表达式可以在Pythex上正常工作,但不能在Python中工作

  10. 10

    正则表达式可以工作,但是不能在Python中工作吗?

  11. 11

    为什么此正则表达式在Vim中不能在SublimeText中工作?

  12. 12

    正则表达式不能在asp.net(.aspx页)中工作

  13. 13

    为什么正则表达式不能在Pywinauto中很好地工作

  14. 14

    为什么此正则表达式不能在Java中按预期工作?

  15. 15

    正则表达式+通配符中的PHP多个值

  16. 16

    为什么我的正则表达式不能在c ++中工作,但可以在Python中工作?

  17. 17

    正则表达式可以在所有.net引擎中在线工作,而不能在Powershell中工作吗?

  18. 18

    正则表达式用通配符替换多个组

  19. 19

    正则表达式可在Notepad ++中运行,但不能在Java中运行

  20. 20

    的replaceAll方法不能正常工作 - 用正则表达式替换正则表达式

  21. 21

    Python正则表达式可在线运行,但不能在代码中运行

  22. 22

    为什么带有捕获组的此正则表达式不能在bash中工作?

  23. 23

    为什么角度模式正则表达式不能在typecrip中正常工作在html中

  24. 24

    正则表达式与 sed 不能正常工作,但在 regex101 中工作

  25. 25

    为什么我的正则表达式不能在C#中工作,而在其他文本编辑器中工作?

  26. 26

    用正则表达式替换Javascript无法正常工作

  27. 27

    正则表达式可在.NET中使用,但不能在javascript中使用

  28. 28

    如何从javascript中的字符串中删除多个空格(不能使用正则表达式替换功能)?

  29. 29

    正则表达式(PHP中的preg_match):输出数组中的最后一组不能正常工作

热门标签

归档