Вы должны использовать парсер. Это будет более точным, чем регулярное выражение или строковые функции.
$dom = new domdocument();
$dom->loadhtml('<a itemprop="email">office@xy.com</a>');
$xpath = new DOMXPath($dom);
echo $xpath->query('//a[@itemprop="email"]')[0]->nodeValue;
https://3v4l.org/BU7Q4
Вы можете прочитать больше здесь.
- http://php.net/manual/en/class.domdocument.php
- https://en.wikipedia.org/wiki/XPath
Альтернативой использованию xpath может быть выбор всех ссылок, а затем поиск атрибута.
$dom = new domdocument();
$dom->loadhtml('<a itemprop="email">office@xy.com</a>');
$links = $dom->getElementsByTagName('a');
foreach($links as $link) {
if($link->getAttribute('itemprop') == 'email') {
echo $link->nodeValue;
}
}