Мне нужно извлечь HTML между двумя тегами с помощью команды Linux.
Например: HTML-документ может иметь несколько <h2>
тегов, как показано ниже
<h2>
<a id="id1" name="name1"></a>
test1
</h2>
<h2>
<a id="id2" name="name2"></a>
test2
</h2>
Мне нужно извлечь внутреннийHTML всего <h2>
в виде массива и переданный другому php-скрипту в качестве параметра.
Обязательный вывод:
<a id="id1" name="name1"></a>
test1
<a id="id2" name="name2"></a>
test2
Я пробовал ниже:
file='/var/www/html/docs/test/test.htm'
tagHtml=$(grep "<h2>" $file )
tagHtml=$(echo $metadata_tobe_added | sed 's/<h2>//g' | sed 's/<\/h2>//g')
echo $tagHtml
php /var/www/html/test.php "$tagHtml"
Ноничего не работает для меня.Я надеюсь, что смог сформулировать четкий вопрос.Пожалуйста, помогите мне.
ОБНОВЛЕНИЕ:
Я пытался:
awk -F" *</?h2> *\n?" -v RS="^$" '{
for(i=2;i<=NF;i+=2)
printf "%s", $i
}' $file
, и я получаю ниже вывод, который в порядке.
<a id="id1" name="name1"></a>
test1
<a id="id2" name="name2"></a>
test2
Теперь я хочу получить вывод в массив, чтобы я мог передать его в скрипт php в качестве параметра.