Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 08.02.2021
Сообщений: 1
1

Вырезать все ссылки из полей PunBB

08.02.2021, 14:22. Показов 538. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Надо из строки на форуме PunBB убрать все URL-ы (вместе с описанием), одновременно копируя ее в другую строку, при этом максимальная длина второй строки 150 символов.
Этот вариант не подходит:
PHP
1
2
3
4
5
6
7
8
function add_meta_tags($subject, $description, $message)
{
    $regex = "@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?).*$)@";
    $title=preg_replace($regex, '', $subject);
    $meta_description1= preg_replace($regex, '', $description);
    $meta_description2= preg_replace($regex, '', $message);
    //...To database
}
Мне сказали использовать strstr, substr.
Но я все равно не придумал алгоритма

Это должно быть как-то так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$buff='';
$i=0;
$url_b='http:';//or '[url]'; begin
$url_e='/ ';//or '[/url]'; end
while(1)
{
    if($i>10) break;//не нагружаем хостинг
    $buff=substr($message, $i*150, 150);
    //дальше как-то проверить, есть ли там ссылка. если да, то {
        $tbuff=strstr($buff, $url_b, true);//обрезаем до
        $tbuff2=strstr($buff, $url_e, false);//обрезаем после
        $buff=$tbuff.$tbuff2;//соединяем
        if(mb_strlen($buff)>=150) break;//иначе обрываем (ред. сразу сказал продолжаем)
        else $i++;
    }
    else break;//а если там нет ссылки то обрываем сразу
}
 
$description2=$buff;
 
//а дальше делаем то же самое и с другими строками

В коде хоть и простой наверное ошибки. Я не программист а в общем взял задание аддон для PunBB написать (готовый PunSEO стоит деньги). Если можете дать ссылку на скачивание (лицензия на PunSEO вроде бы не запрещает распространять его бесплатно, хоть он и платный) то дайте. (готовый бесплатный не нашел). У кого акаунт на punbb_info.
Или прошу помочь с кодом.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2021, 14:22
Ответы с готовыми решениями:

Как вырезать все ссылки со страницы?
подсажите вытащил се сылки со страницы вот так $buf=implode('',file($url)); // получем...

Регулярное выражение: вырезать все ссылки в тексте
Здравствуйте. Не могу разобраться с регулярными выражениями... Есть текст: Какой-то текст <a...

Вырезать ссылки
Нужна помощь в вырезании ссылок, $text = <<<EOD <ul class="stats"> <li><a...

Вырезать ссылки
Необходимо вырезать из текста все ссылки, использую для этого ...

0
08.02.2021, 14:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2021, 14:22
Помогаю со студенческими работами здесь

Вырезать имя хоста из ссылки
Подскажите каким образом обрезать ссылку https://google.com/ чтобы она имела такой вид google.com

Заменить ссылки и вырезать список
Доброго всем! <?php $text= " <h1>Основные характеристики</h1> <ul> <li>а</li>...

Регулярное выражение: вырезать текст из ссылки
Здравствуйте. Не могу разобраться с регулярными выражениями... Пример: $text = '<a...

Обработать ссылки ютуба и вырезать текст
Допустим есть текст с ссылками ютуба. С помощью регулярки обрабатываються ссылки youtube и...

Вырезать часть ссылки для другой
Имеются ссылки формата http://site.ru/page-00000-name_of_page.html...

Как выбрать запись и все значения её полей по максимальному значению одного из полей?
Как выбрать запись и все значения её полей по максимальному значению одного из полей? Код. Форма...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru