Беру информацию с другого сайта таким макаром.
$content = file_get_contents
Получаю текст с ссылками вида
<a href="player.asp?id=31" title="???">Имя</a>
<a href="stats.asp?sortB=8&dirB=2">Фамилия</a>
Как удалить ссылки и оставить только текст? (Имя Фамилия)
Пробовал как-то так, не получается, ссылки разные.
$content = str_replace('<a href="','', $content);
Тестировал на PHP 7.2, работает как надо
<?php
$links = [
'<a href="player.asp?id=31" title="???">Имя</a>',
'<a href="stats.asp?sortB=8&dirB=2">Фамилия</a>'
];
foreach ($links as $link) {
echo preg_replace('/\<a.*\>(.*)\<\/a\>/', '$1', $link) . '<br>';
}
?>
Regex101 https://regex101.com/r/2EZBRj/2
Для тех случаев когда у нас нет массива с ссылками
<?php
// исходник
$content = file_get_contents('file.html');
// ищем все ссылки
preg_match_all('/\<a.*?\>(.*?)\<\/a\>/s', $content, $links);
// очищаем текст от вложенных тэгов, переносов строк, пробелов и т.д
// получаем чистый текст
foreach ($links[1] as $link) {
$t = preg_replace('/[\s]{1,}/s', ' ', $link);
$t = trim($t);
$t = preg_replace('/\<.*?\>.*?\<\/.*?\>/', '', $t);
$t = trim($t);
echo $t . PHP_EOL;
}
?>
Для того чтобы получить текст вместо ссылок
<?php
$content = file_get_contents('file.html');
// удаляем открывающие тэги
$content = preg_replace('/\<a.*?\>/s', '', $content);
// удаляем закрывающие тэги
$content = preg_replace('/<\/a\>/s', '', $content);
// выводим на экан
echo $content;
Дык вот же:
echo strip_tags($content);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости