用空格替换任意数量的加号



我有2000多个<img>标记,我想为每个标记替换alt文本。Alt文本类似于:

  1. alt="pinblock">
  2. alt="Rich+Austin+shop+4">
  3. alt="炎热+干燥+阳光+az">

我想要一种快速的方法来用空格("(替换所有的"+",因此我使用regex来解决这个问题。到目前为止,我已经尝试过了:

查找内容:alt="(D+)[+](D+)[+*](D*)[+*](D*)[+*](D*)[+*](D*)[+*](D*)[+*](D*)"s

替换为:alt="1 2 3 4 5 6 7 8"

我知道我做错了什么,请帮帮我。

完整字符串为:

<img border="0" height="111" src="https://1.bp.blogspot.com/-WL5_jMT96p4/U8ILVU9D-mI/AAAAAAAAGeI/rP_RJccbhj8/s1600/hot+dry+sun+az.jpg" alt="hot+dry+sun+az" width="200" />

为了演示,我已经测试过了,反复按下Replace All按钮可以工作。首先,按下Regular expression单选按钮,然后:

Find what:    (alt="[^+"]*?)+([^"]*?")
Replace with: 1 2

这当然不是傻瓜式的,但只要你没有病理学数据,它就应该有效。

注意:我的第一个版本有一个错误,它会将alt="hot+dry+sun+az" width="200+200"更改为alt="hot+dry+sun+az" width="200 200",这是为什么不应该使用regex来处理HTML的一个很好的例子。我认为这项任务可能只需几行JavaScript就可以完成,而不会像我上面所做的那样有被绊倒的危险,但这是另一天的问题!

注意2:我的第二个版本也得到了Zalgoed。

最新更新