我有很多旧的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="
之间的空格,然后使用"
的下一个_
就可以了。
任何帮助都会受到大力赞赏。我在这里过头了:(
答案 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 {} +