如何在JavaScript中使用正则表达式替换部分文本?

用户名

我正在从数据库中获取HTML内容并在UI中显示。如果显示的内容包含指定了宽度和高度的图像,那么在UI中显示时,我需要将图像的宽度和高度替换为某个固定值。

一个示例内容如下:

<p>
   Sample paragraph text. 
   <br />
   <img src="http://www.example.com/myimage.jpg?width=500&height=500" 
    title="Test Image" />
   Sample text.
   <br />
</p>

在这里,我想将图像宽度设置为300,针对不同图像动态删除高度

我尝试使用正则表达式替换文本,如下所示:

.replace(new RegExp("width=([^&]{0,})", 'gi'), 'width=300') 
.replace(new RegExp("[?&]height=([^&]{0,})", 'gi'), '')

但结果如下:

<p>Sample paragraph text. <br /> <img src="http://www.example.com/myimage.jpg?width=300

它替换?width = 300之后的所有文本

我想要这样的结果: <p>Sample paragraph text. <br /> <img src="http://www.example.com/myimage.jpg?width=300" title="Test Image" /> Sample text.<br /></p>

因此,我想问题出在正则表达式中。请帮助我纠正此问题。

在此先谢谢了!

马特

这种模式:/[^&]{0,}/吞噬了不是&字符的所有内容,这就是为什么它超出了URL本身的原因。相反,由于您知道宽度和高度是数字,因此可以按数字进行匹配:

.replace(/\bwidth=\d*/gi,'width=300')
.replace(/&height=\d*|\bheight=\d*&?/gi,'');

\b是零宽度匹配一个单词边界,所以,如果你有framewidth = 500例如,它不会受到影响。高度的2个匹配项是,因此如果它们在每一侧都不会替换两个&项。例如,您不希望将'?width = 500&height = 500&cache = 123'转换为'?width = 300cache = 123'。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式查找后,如何在 Notepad++ 中替换部分结果?

来自分类Dev

如何使用正则表达式替换部分字符串?

来自分类Dev

Python正则表达式;替换部分比赛

来自分类Dev

如何在python中使用正则表达式提取以“ ----”分隔的文本的特殊部分?

来自分类Dev

如何用ruby正则表达式替换部分内容

来自分类Dev

如何在javascript中使用正则表达式设置文本格式?

来自分类Dev

使用带有 bash perl 的正则表达式用部分文本替换文本

来自分类Dev

如何在grep中使用正则表达式(仅基本正则表达式)实现替换?

来自分类Dev

如何在Google文档文本编辑器中使用正则表达式查找和替换?

来自分类Dev

如何在记事本++中使用替换正则表达式将小写的文本转换为小写

来自分类Dev

在 JavaScript 中使用正则表达式替换

来自分类Dev

正则表达式排除部分文本

来自分类Dev

用Perl正则表达式替换部分单词

来自分类Dev

preg_replace仅替换部分输入?(正则表达式帮助)

来自分类Dev

在Python中用正则表达式替换部分模式

来自分类Dev

用正则表达式替换部分字符串

来自分类Dev

C# 正则表达式和替换部分匹配

来自分类Dev

Swift-正则表达式查找结果的替换部分

来自分类Dev

如何在Ant中使用正则表达式替换xml标记之间的值?

来自分类Dev

如何在ecilpse中使用正则表达式查找/替换?

来自分类Dev

如何在Java中使用正则表达式一一替换空格?

来自分类Dev

可以找到如何在VBA中使用正则表达式替换

来自分类Dev

我如何在Birt报告中使用正则表达式并替换

来自分类Dev

如何在熊猫替换功能中使用正则表达式捕获组

来自分类Dev

如何在bash中使用正则表达式变量进行查找和替换命令?

来自分类Dev

如何在python中使用正则表达式替换字符串的多个单词?

来自分类Dev

如何在PowerShell中使用正则表达式替换

来自分类Dev

如何在记事本++中使用正则表达式“查找和替换”

来自分类Dev

如何在Java中使用正则表达式一一替换空格?

Related 相关文章

  1. 1

    正则表达式查找后,如何在 Notepad++ 中替换部分结果?

  2. 2

    如何使用正则表达式替换部分字符串?

  3. 3

    Python正则表达式;替换部分比赛

  4. 4

    如何在python中使用正则表达式提取以“ ----”分隔的文本的特殊部分?

  5. 5

    如何用ruby正则表达式替换部分内容

  6. 6

    如何在javascript中使用正则表达式设置文本格式?

  7. 7

    使用带有 bash perl 的正则表达式用部分文本替换文本

  8. 8

    如何在grep中使用正则表达式(仅基本正则表达式)实现替换?

  9. 9

    如何在Google文档文本编辑器中使用正则表达式查找和替换?

  10. 10

    如何在记事本++中使用替换正则表达式将小写的文本转换为小写

  11. 11

    在 JavaScript 中使用正则表达式替换

  12. 12

    正则表达式排除部分文本

  13. 13

    用Perl正则表达式替换部分单词

  14. 14

    preg_replace仅替换部分输入?(正则表达式帮助)

  15. 15

    在Python中用正则表达式替换部分模式

  16. 16

    用正则表达式替换部分字符串

  17. 17

    C# 正则表达式和替换部分匹配

  18. 18

    Swift-正则表达式查找结果的替换部分

  19. 19

    如何在Ant中使用正则表达式替换xml标记之间的值?

  20. 20

    如何在ecilpse中使用正则表达式查找/替换?

  21. 21

    如何在Java中使用正则表达式一一替换空格?

  22. 22

    可以找到如何在VBA中使用正则表达式替换

  23. 23

    我如何在Birt报告中使用正则表达式并替换

  24. 24

    如何在熊猫替换功能中使用正则表达式捕获组

  25. 25

    如何在bash中使用正则表达式变量进行查找和替换命令?

  26. 26

    如何在python中使用正则表达式替换字符串的多个单词?

  27. 27

    如何在PowerShell中使用正则表达式替换

  28. 28

    如何在记事本++中使用正则表达式“查找和替换”

  29. 29

    如何在Java中使用正则表达式一一替换空格?

热门标签

归档