.xhtml
파일의 이미지를 확인하고 필요한 경우 Alt 태그를 추가할 수 있는 스크립트를 만들고 싶습니다 . 검색하는 동안 정규식을 찾아서 유인했지만 및 에서 어디에서 무엇을 검색해야 할지 glob
잘 모르겠습니다 . 다음을 수행하는 가장 좋은 옵션은 무엇입니까?awk
sed
<img class="something" width="something" height="something" src="folder/folder/image.png" />
<img id="something" src="folder/folder/file.png" />
필요한 스크립트가 존재하는지 감지하기를 원합니다 alt=""
(파일 이름이 변경되지 않은 경우).
필수 형식 종료:
<img class="something" width="something" height="something" src="folder/folder/image.png" alt="image"/>
<img id="something" src="folder/folder/file.png" alt="file"/>
할 수 있다는 것은 알지만, 이에 대해 어디서 읽어야 할지 모르겠습니다.
<img
결말을 찾아라/>
img
라벨 내 감지alt=""
alt=""
레코드 이름 앞에 파일 형식이 없고 삽입하는 경우""
답변1
perl
파서의 도움으로 이를 사용하는 한 가지 방법은 다음과 같습니다 XML::Twig
.
#!/usr/bin/env perl
use strict;
use warnings;
use XML::Twig;
use File::Spec;
my $twig = XML::Twig->new(
twig_handlers => {
## For each 'img' tag execute following function...
'img' => sub {
## If it doesn't have an 'alt' attribute...
if ( ! $_->att_exists( 'alt' ) ) {
## Get value of 'src' tag.
my $src = $_->att( 'src' );
return unless $src;
## Get last part of the path and remove extension.
my $src_file = (File::Spec->splitpath( $src ))[2] || q{};
$src_file =~ s/\.[^.]+$//;
## Create the 'alt' attribute.
$_->set_att( 'alt', $src_file );
}
}
},
pretty_print => 'indented',
)->parsefile( shift )->print;
xml
파일을 유일한 인수로 사용 하여 실행하세요. 예를 들면 다음과 같습니다.
perl script.pl xmlfile