Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779

Манипуляция с ссылками

17.02.2018, 20:03. Показов 1406. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, скажите как сделать такое
есть переменная $site

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

ddd.com rr.ru sos.nu bu.com lol.com www.tu.ru http://olive.ru

а также может быть и один урл вовсе!

как мне сделать чтобы эти урл на странице отобразились так

ddd.com
rr.ru
sos.nu
bu.com
lol.com
www.tu.ru
http://olive.ru


т.е. убрать все пробелы и сделать перевод строки
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.02.2018, 20:03
Ответы с готовыми решениями:

Частотная манипуляция
Как переделать схему, чтобы битовая последовательность была 1100111? У меня мозг взрывается, я вообще ни бум-бум. Помогите пожалуйста

Фазовая манипуляция
Помогите пожалуйста разобраться с реализацией фазовой манипуляции в матлаб. sm(t) = g(t)cos. Мне нужно, чтобы φm(t) принимала...

Манипуляция с байтами
Здравствуйте. есть массив байт byte b2 = new byte; в него планируется копировать, ДОПУСТИМ, первые 49 байт какая нибудь...

16
21 / 44 / 11
Регистрация: 08.02.2018
Сообщений: 443
17.02.2018, 20:08
С помощью trim() удалять пробелы, а яерез nl2br() сделать перевод, ну или просто использовать <br/> или \n вариантов много
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
17.02.2018, 20:12  [ТС]
пример можно
0
21 / 44 / 11
Регистрация: 08.02.2018
Сообщений: 443
17.02.2018, 20:17
Цитата Сообщение от serauto79 Посмотреть сообщение
пример можно
Покажи код свой, я исправлю и скину тебе
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
17.02.2018, 21:10  [ТС]
кода нет, есть переменная которая выводит с апи ссылки, их может быть одна или десят и пробелы одинарные и множественные - кто как из юзеров заполнит форму и впишет свои сайты

Добавлено через 29 секунд
пример я привет в реальности так и есть

Добавлено через 24 минуты
сделал, а вот как перевод строк сделать я ху...знает

PHP
1
2
$link = "ddd.com rr.ru sos.nu bu.com lol.com www.tu.ru http://olive.ru";
$linktrim = trim($link);
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
17.02.2018, 21:26
да хоть бы и так:
PHP
1
strtr($link, ' ', "\n");
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
17.02.2018, 21:33  [ТС]
сделал сам

PHP
1
2
3
4
5
6
$link = "ddd.com rr.ru sos.nu bu.com lol.com www.tu.ru http://olive.ru";
 
$linktrim = trim($link);
$linktrim = str_replace(' ', "<br>", $linktrim);
 
echo $linktrim;


вопрос, а как теперь мне сделать чтобы каждая ссылка стала активной


<a href="https://rr.ru" target="_blank">https://rr.ru</a>

Добавлено через 1 минуту
нужно чтобы если урл без протокола то он добавлялся

Добавлено через 2 минуты
сейчас вывод ссылок стал таким


ddd.com
rr.ru
sos.nu
bu.com
lol.com
www.tu.ru
http://olive.ru


Добавлено через 21 секунду
нужно добавить протокол и активной сделать - как?
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
17.02.2018, 21:47
PHP
1
2
3
4
5
foreach (explode(' ', $link) as $dom) {
    $dom = str_replace(array('http://', 'https://', 'www.'), '', $dom);
    $arr[] = '<a href="http://'.$dom.'" target="_blank">'.$dom.'</a>'
}
var_dump($arr);
1
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
17.02.2018, 22:34  [ТС]
так стоп, я тут немного ошибся если в переменной будет куча пробелов

PHP
1
$link = "ddd.com rr.ru          sos.nu     bu.com    lol.com      www.tu.ru      http://olive.ru";

то и вывод будет

ddd.com


rr.ru


sos.nu


bu.com


lol.com


www.tu.ru



как сделать чтобы trim($link) удалял многократные пробелы оставив только один между урл?

Добавлено через 25 минут
ну как кто подскажет как в переменной удалить множественные пробелы
$link = "ddd.com rr.ru sos.nu bu.com lol.com www.tu.ru http://olive.ru";
оставив только по одному между целыми словами
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
18.02.2018, 09:18
Лучший ответ Сообщение было отмечено serauto79 как решение

Решение

Цитата Сообщение от serauto79 Посмотреть сообщение
как сделать чтобы trim($link) удалял многократные пробелы
PHP
1
$link = preg_replace('/\s+/', ' ', $link);
1
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
18.02.2018, 11:07  [ТС]
Para bellum, спасибо, а где можно про эти правила /\s+/ подробнее почитать

Добавлено через 18 минут
Цитата Сообщение от полудух Посмотреть сообщение
foreach (explode(' ', $link) as $dom) {
* * $dom = str_replace(array('http://', 'https://', 'www.'), '', $dom);
* * $arr[] = '<a href="http://'.$dom.'" target="_blank">'.$dom.'</a>'
}
var_dump($arr);

не пойму возникает ошибка, у меня интерпиритатор 5.2

вот мой код

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$link = "ddd.com   rr.ru   sos.nu   bu.com   lol.com   www.tu.ru    http://olive.ru";
$linktrim = preg_replace('/\s+/', ' ', $link);
$linktrim = str_replace(' ', "<br>", $linktrim);
 
echo $linktrim;
 
 
вот ваш
 
foreach (explode(' ', $linktrim) as $dom) {
    $dom = str_replace(array('http://', 'https://', 'www.'), '', $dom);
    $arr[] = '<a href="http://'.$dom.'" target="_blank">'.$dom.'</a>'
}
var_dump($arr);





как пытаюсь ваш код добавить ошибка
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
18.02.2018, 11:21
Цитата Сообщение от serauto79 Посмотреть сообщение
где можно про эти правила /\s+/ подробнее почитать
Тут: http://php.net/manual/ru/refer... syntax.php

Добавлено через 1 минуту
Цитата Сообщение от serauto79 Посмотреть сообщение
возникает ошибка
Уберите строку 3.
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
18.02.2018, 11:38  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$link = "ddd.com   rr.ru   sos.nu   bu.com   lol.com   www.tu.ru    http://olive.ru";
$linktrim = preg_replace('/\s+/', ' ', $link);
//$linktrim = str_replace(' ', "<br>", $linktrim);
 
//echo $linktrim;
 
 
 
foreach (explode(' ', $linktrim) as $dom) {
    $dom = str_replace(array('http://', 'https://', 'www.'), '', $dom);
    $arr[] = '<a href="http://'.$dom.'" target="_blank">'.$dom.'</a>'
}
var_dump($arr);
HTTP ERROR 500

у меня интерпиритатор 5.2
проблема в этой строке

$arr[] = '<a href="http://'.$dom.'" target="_blank">'.$dom.'</a>'
если закоментить то без ошибки
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
18.02.2018, 11:42
А, ну да. Полудух забыл двоеточие поставить. После '</a>' двоеточие поставьте.

Добавлено через 43 секунды
При этом третью строку снова не открывайте. Он не нужна.
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
18.02.2018, 11:51  [ТС]
сейчас такой вывод на странице
var_dump($arr);

PHP
1
array(7) { [0]=> string(52) "ddd.com" [1]=> string(48) "rr.ru" [2]=> string(50) "sos.nu" [3]=> string(50) "bu.com" [4]=> string(52) "lol.com" [5]=> string(48) "tu.ru" [6]=> string(54) "olive.ru" }
как вывести ссылками

ddd.com
rr.ru
sos.nu
bu.com
lol.com
tu.ru
olive.ru
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
18.02.2018, 13:18
когда студент не может разобраться с ; и ждёт всё готовенькое, это означает только, что ему нахрен это программирование не нужно
это и 20 лет назад так было )
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
18.02.2018, 16:32  [ТС]
Цитата Сообщение от полудух Посмотреть сообщение
когда студент не может разобраться с ; и ждёт всё готовенькое, это означает только, что ему нахрен это программирование не нужно
это и 20 лет назад так было )
ну да знания небольшие, но все сделал сейчас работает вывод как нужно, всем спасибо.

берет все линки из переменной $link

PHP
1
2
3
4
5
6
7
8
$linktrim = preg_replace('/\s+/', ' ', $link);
foreach (explode(' ', $linktrim) as $dom) {
$dom = str_replace(array('http://', 'https://', 'www.'), '', $dom);
$arrlink[] = '<a href="http://'.$dom.'" target="_blank">'.$dom.'</a><br>';
}
foreach ($arrlink as $link_site) 
 
echo "$link_site";
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2018, 16:32
Помогаю со студенческими работами здесь

Манипуляция с строками
подскажите пожалуйста, как сделать, что бы нормально работало? - Создать форму с 2-мя полями ввода строк и кнопкой, при нажатии которой...

Манипуляция с ячейками !
Здравствуйте, очень нужна ваша помощь есть ячейка в таблице, у которой прописаны мин макс значения, это ширина и высота, она их не...

Манипуляция с div ами
При нажатии на пункт из меню он меняет класс и открывает дочерное через show(); Как сделать через js что бы когда курсор...

Манипуляция объекта класса
Как сделать возможной следующую ситуацию: class P { int f; }; ... P p; if(p){}//допустим, относительно значения f

Манипуляция с точками в chart
Все доброго дня! Как можно реализовать манипуляцию с точками в элементе chart? Чтобы можно было выбрать несколько точек и равномерно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru