Как удалить ссылки на php?

122
18 мая 2019, 14:40

Беру информацию с другого сайта таким макаром.

$content = file_get_contents

Получаю текст с ссылками вида

<a href="player.asp?id=31" title="???">Имя</a>
<a href="stats.asp?sortB=8&amp;dirB=2">Фамилия</a>

Как удалить ссылки и оставить только текст? (Имя Фамилия)

Пробовал как-то так, не получается, ссылки разные.

$content = str_replace('<a href="','', $content);
Answer 1

Тестировал на PHP 7.2, работает как надо

<?php
$links = [
    '<a href="player.asp?id=31" title="???">Имя</a>',
    '<a href="stats.asp?sortB=8&amp;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;
Answer 2

Дык вот же:

echo strip_tags($content);
READ ALSO
Антивирус для файлов сайта

Антивирус для файлов сайта

Пользователи на сервер загружают документы, другие пользователи их скачивают по прямым ссылкамФайл должен быть вскоре после загрузки проверен...

152
Двойные сессии в wordpress

Двойные сессии в wordpress

Пишу плагинВ плагине на хук init вешаю функцию старта сессии

143
Добавить статью на php

Добавить статью на php

Всем приветУ меня есть таблица со статьями с названием tbl_blog

112
Где на сервере хранить данные об текущем количестве пользователей?

Где на сервере хранить данные об текущем количестве пользователей?

Есть веб сайт где нужно показывать всем посетителям количество пользователей на данный момент, информация будет передаваться через сокет

93