(.*?)<\/div>\s*<\/div>/s', $html, $match);
if (!isset($match[0])) return $html;
$book_block = $match[0];
$cover = extract_attr($book_block, '/
\s*
(.*?)<\/h1>/');
$author = extract_text($book_block, '/
(.*?)<\/p>/');
$publisher = extract_text($book_block, '/
(.*?)<\/p>/');
$imprint = extract_text($book_block, '/
(.*?)<\/p>/');
$series = extract_text($book_block, '/
(.*?)<\/p>/');
$isbn13 = extract_text($book_block, '/
(.*?)<\/p>/');
$price = extract_text($book_block, '/
(.*?)<\/p>/');
$format = extract_text($book_block, '/
(.*?)<\/p>/');
$pubdate = extract_text($book_block, '/
(.*?)<\/p>/');
$pages = extract_text($book_block, '/
(.*?)<\/p>/');
$summary = extract_html($book_block, '/
(.*?)<\/div>/s');
$description= extract_html($book_block, '/
(.*?)<\/div>/s');
$reviews = extract_html($book_block, '/
(.*?)<\/div>/s');
$html = preg_replace_callback(
'/(
]*>)(.*?)(<\/div>)/s',
function($matches) use ($description, $author, $reviews) {
static $i = 0;
$replacement = '';
if ($i === 0) $replacement = $description;
elseif ($i === 1) $replacement = 'Hello World!';
elseif ($i === 2) $replacement = $author;
elseif ($i === 3) $replacement = $reviews;
$i++;
return $matches[1] . $replacement . $matches[3];
},
$html
);
return $html;
}
function extract_text($html, $pattern) {
preg_match($pattern, $html, $m);
return $m[1] ?? '';
}
function extract_attr($html, $pattern) {
preg_match($pattern, $html, $m);
return $m[1] ?? '';
}
function extract_html($html, $pattern) {
preg_match($pattern, $html, $m);
return $m[1] ?? '';
}
//gets rid of information and image wrapper
add_action('wp_head', function() {
echo '';
});