@SergioMarquinha

Как вывести только ссылки?

как можно отфильтровать вывод.
Имеется ссылка <a href="...">, в которую падают данные из внешнего источника: ссылка(первый скриншот) и текст(второй скриншот), как мне вывести только ссылку? Какое нужно условие прописать?
63e5e3ac204b7754659566.jpeg
63e5e3b8aa561548800011.jpeg
  • Вопрос задан
  • 145 просмотров
Решения вопроса 2
@SergioMarquinha Автор вопроса
Разобрался и нашел решение:
1. Выносим в отдельную переменную то, что берется извне.
2. Выносим в отдельную переменную то, что нужно проверять на наличие, в моем случае это "https"
Дальше идет условие.
<?
				$link_b = BB(description_event($result[$key]['ID']));
				$address_h= 'https';
				?>
				<?if(strpos($link_b, $address_h) !== false):?>
				<a href="<?=$link_b?>" target="_blank"><?=$result[$key]['NAME']?></a>
				<?else:?>
					<p><?=$result[$key]['NAME']?></p>

				<?endif?>

Если ссылки не будет, выведется имя из массива без ссылки, если будет - имя с ссылкой (в моем случае).
Ответ написан
Комментировать
alams_stoyne
@alams_stoyne
Full Stack Developer - #PHP #CSS #JS #DB
href из ссылок
$text = '
	<a href="http://ya.ru">Яндекс</a>
	<a href="http://google.ru">Google</a>
	<a href="http://mail.ru">Mail.ru</a>
'; 
preg_match_all('/<a.*?href=["\'](.*?)["\'].*?>/i', $text, $matches);
print_r($matches[1]);

Результат:
Array
(
    [0] => http://ya.ru
    [1] => http://google.ru
    [2] => http://mail.ru
)


Анкоры ссылок
$text = '
	<a href="http://ya.ru">Яндекс</a>
	<a href="http://google.ru">Google</a>
	<a href="http://mail.ru">Mail.ru</a>
';
 
preg_match_all('/<a.*?>(.*?)<\/a>/i', $text, $matches);
print_r($matches[1]);

Результат:
Array
(
    [0] => Яндекс
    [1] => Google
    [2] => Mail.ru
)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы