我有2000多个<img>
标记,我想为每个标记替换alt文本。Alt文本类似于:
- alt="pinblock">
- alt="Rich+Austin+shop+4">
- 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。