批量替换html

时间:2016-03-21 06:38:40

标签: html regex wordpress

我有很多旧的html页面,我已经导入到wordpress中,除了图像外,它们都很好。文件名中有成千上万个带空格的图片,而wordpress似乎无法上传而无需编辑空格。

任何人都知道如何批量编辑html,如下所示,用" _"替换文件名中的空格。

<img src="product 1_logo.jpeg" />
<img src="company 2_logo.jpeg" width="400"/>
<img src="product 3_logo.jpeg" title="something" />
<img src="product 4_poster.jpeg" />
<img src="product 5 - something_logo.jpeg" />

像那些看起来像的行:

<img src="product_1_logo.jpeg"/>
<img src="company_2_logo.jpeg" width="400"/>
<img src="product_3_logo.jpeg" title="
<img src="product_4_poster.jpeg"/>
<img src="product_5_-_something_logo.jpeg"/>

因此,如果可能的话,像正则表达式一样替换<img src="之间的空格,然后使用"的下一个_就可以了。

任何帮助都会受到大力赞赏。我在这里过头了:(

2 个答案:

答案 0 :(得分:0)

您可以使用str_replace将空格替换为“_”

$image = "product 1_logo.jpeg";
$imgname = str_replace(' ', '_', $image);
<!-- Or--> 
$imgname = preg_replace('/\s+/', '_', $image); 

检查它是否有用..!

答案 1 :(得分:0)

这是一个使用lxml的python解决方案, (警告:它将覆盖原始文件)

from lxml.html import parse
from sys import argv
with open(argv[1]) as f:
   page=parse(f)
   for img in page.xpath("//img"):
     src=img.get("src")
     src=src.replace(" ","_")
     img.set("src",src)

page.write(argv[1])

像这样称呼

python script.py filename

或使用find将其应用于您的所有树

find -iname '*.html' -exec python script.py {} +