ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (1): [1]   

> Без описания
Gori
Отправлено: 12 июля 2015 — 17:23
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Помогите составить патерн.

Допустим мой сайт www.moysait.ru
На нём есть внешние ссылки вида http://sait1.ru/page1.html и http://www.sait2.ru/page2.html

Нужно чтобы они заменились на: http://moysait.ru.ru/page1.html и http://www.moysait.ru.ru/page2.html

Вот пример, но он не рабочий:
CODE:


$text="Текст <a href=http://sait1.ru/page1.html>ссылка1</a> и снова <a href

=http://www.sait2.ru/page2.html>ссылка2</a> конец текста.";

$text= preg_replace(
"(<a.*?href=\"?'?)([^ \"'>]+)(\"?'?.*?>)",
'$1http://moysait.ru/$2$3',
$text);

echo $text;
 
 
electron
Отправлено: 12 июля 2015 — 20:22
Post Id



Администратор
ExBB Team


Покинул форум
Сообщений всего: 3917
Дата рег-ции: Февр. 2009  
Репутация: 341




может просто в .htacces добавить
CODE:

RewriteRule ^http://moysait.ru.ru/page1.html/?$ http://sait1.ru/page1.html [QSA,L]
RewriteRule ^http://moysait.ru.ru/page2.html/?$ http://sait1.ru/page2.html [QSA,L]

?
 
 
Gori
Отправлено: 13 июля 2015 — 02:54
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




electron , нужно именно трансформировать ссылки в тексте. Путём реального изменения текстового контента.
 
 
Gori
Отправлено: 13 июля 2015 — 03:52
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Да, и речь идёт не только о ссылках http://moysait.ru.ru/page1.html и http://www.moysait.ru.ru/page2.html

Это могут быть любые внешние ссылки. Вручную это прописать невозможно.
 
 
Gori
Отправлено: 13 июля 2015 — 05:17
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Нашёл функцию:
CODE:
<?php
function hyperlink($text)
{
$text = ereg_replace("[a-zA-Z]+://([.]?[a-zA-Z0-9_/-])*", "<a href=\"\\0\">\\0</a>", $text);
return $text;
}

$text = "Текст <a href=http://1111111.ru/page1.html>ссылка</a> и снова <a href=http://www.222222.ru/page2.html>ссылка</a> конец http://www.333333.ru/page3.html <a href=/page4.html>ссылка</a>";

echo hyperlink($text);
?>

Но она только лишь переделывает обычные текстовые ссылки в гиперссылки.
Нельзя ли как-то дополнить эту функцию?

(Отредактировано автором: 13 июля 2015 — 05:18)

 
 
Gori
Отправлено: 13 июля 2015 — 08:41
Post Id


Пользователь
Full Member


Покинул форум
Сообщений всего: 165
Дата рег-ции: Сент. 2013  
Репутация: 2




Нашёл вроде то что надо, но не работает. Ошибки выдаёт. Не подскажите что здесь не так:
CODE:
<?php
function unurl( $text ) {
$host = strtr($_SERVER['HTTP_HOST'], array('.' =&gt; '\.'));
$pattern = '/&lt;a (.*?)href=[\&quot;\']([a-z0-9]+)\:\/\/(?!'.$host.')(.*?)\/?(.*?)[\&quot;

\'](.*?)&gt;(.*?)&lt;\/a&gt;/i';
if ( defined('USER_FRIENDLY_URL') ) {
$text = preg_replace_callback( $pattern, 'text_unurl', $text );
} else $text = preg_replace_callback( $pattern, 'text_unurl_bad', $text );
return $text;
}
?>
 
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« PHP/Perl »

> Похожие темы: Замена внешних ссылок на внутренние средствами PHP
Темы Форум Информация о теме Обновление
Дополнение: Пагинатор как на шкурке Invision2 от SkinStore
Изменение внешнего вида ссылок перехода по страницам
Модификации и дополнения Ответов: 38
Автор темы: electron
22 января 2012 — 16:00
Автор: BON
Битые ссылки
Проверка ссылок на работоспособность
Обсуждение Ответов: 6
Автор темы: paravoz
3 января 2018 — 06:47
Автор: Guyver
Ссылки в темах
Вопросы по поводу ссылок в темах
Общие вопросы Ответов: 2
Автор темы: Konstantin
2 марта 2012 — 11:50
Автор: Konstantin
Sitemap генератор говорит о битости ссылок
Общие вопросы Ответов: 4
Автор темы: Defenderyk
5 мая 2009 — 12:37
Автор: Zeg
Дополнение : включение и отключение скрытия ссылок от гостей из админки
Модификации и дополнения Ответов: 0
Автор темы: electron
30 марта 2019 — 08:58
Автор: electron
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0688]     [ ]