PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 5
Acbir
Отправлено: 06 Февраля, 2015 - 15:46:19 • Тема: обработка кирилических доменов сложный запрос регулярки • Форум: Регулярные выражения
Ответов: 3 Просмотров: 324
GoDr пишет: Acbir , уточняю...
у тебя есть где-то в тексте
Цитата: http://igum16-1.инфф.рф/
и их нужно преобразовать в
Цитата: <a href="./goto.html?http://igum16-1.xn--h1akva.xn--p1ai/" target="_blank" rel="nofollow">http://igum16-1.инфф.рф/</a>
Так?
да, таких и других ссылок может быть множество
счас проблема возникает немного другого плана
PHP:
скопировать код в буфер обмена
$html = " 1 http://youtu.be/FLfaXSmS-Ys<br>http://igum16-1.инфф.рф/<br>http://igum16-1.инфф.рф<br>http://IGum16-1.инфф.рф<br>http://igum16-1.ИНфф.рф<br>http://igum16-1.инфф.рф/f15.php<br>http://y.com<br>http://youtube.com<br>http://youtu.be<br>http://sdgwegy.com<br>http://y.com/<br>http://youtube.com/<br>http://www.y.com/<br>http://www.youtube.com/" ;
'#(?<!\])\bhttp://(?!youtube.com/)(?!youtu.be/)(?!www.youtube.com/)(?!www.youtu.be/)[^\s\[<]+#i' ,
function ( $m ) {
return $m [ 0 ] . ' - -> ' . idn_to_ascii
( iconv ( 'cp1251' , 'utf-8' , $m [ 0 ] ) ) . ' !!! ' ; } ,
$html
) ;
echo "<hr>$html <hr>" ;
результат почти гуд, но есть затык как я понимаю idn_to_ascii если я прально понял то происходит дополнительное экранирование, и команда применяется на значение с этим экранированием, как его обойти?
пример правильной выдачи
http://igum16-1[dot]инфф[dot]рф - -> http://igum16-1[dot]xn--h1akva[dot]xn--p1ai !!!
а тут уже касячит
http://igum16-1[dot]инфф[dot]рф/ - -> http://igum16-1[dot]xn--h1akva[dot]xn--/-4tbm !!!
http://igum16-1[dot]инфф[dot]рф/f15.php - -> http://igum16-1[dot]xn--h1akva[dot]xn--/f15-f6dy.php !!!
Acbir
Отправлено: 05 Февраля, 2015 - 13:48:20 • Тема: обработка кирилических доменов сложный запрос регулярки • Форум: Регулярные выражения
Ответов: 3 Просмотров: 324
не могу совместить две регулярки. есть две рабочие регулярки, помогите совместить никак не получается мозг уже взорвался
это корректно преобразует кирилические домены в латинские
эта корректно меняет латинские на гиперссылки
PHP:
скопировать код в буфер обмена
$text = preg_replace ( '#(?<!\])\bhttps://(?!youtube.com/)(?!youtu.be/)(?!www.youtube.com/)(?!www.youtu.be/)[^\s\[<]+#i' , "<a href=./goto.html?$0 target=_blank rel=nofollow>$0 </a>" , $text ) ;
работает и меняет все как надо
но у меня не получается все отладить в одном нужном запросе
PHP:
скопировать код в буфер обмена
$text = preg_replace ( '#(?<!\])\bhttp://(?!youtube.com/)(?!youtu.be/)(?!www.youtube.com/)(?!www.youtu.be/)[^\s\[<]+#ei' , "strtolower(idn_to_ascii(iconv('cp1251', 'utf-8','$0 ')))" , $text ) ;
вот нормально работающий код меняет http://igum16-1[dot]инфф[dot]рф/f15.php на http://igum16-1[dot]xn--h1akva[dot]xn--p1ai/f15.php
а у меня выводит http://igum16-1[dot]xn--h1akva[dot]xn--/f15-f6dy.php
, но http://igum16-1[dot]инфф[dot]рф и там и там все нормально http://igum16-1[dot]xn--h1akva[dot]xn--p1ai
плюс это просто замена домена, но еще остается преобразование в гипер ссылку, с этим вообще беда, как только не пробую делать, если в конструкцию вставляю
PHP:
скопировать код в буфер обмена
$text = preg_replace ( '#(?<!\])\bhttp://(?!youtube.com/)(?!youtu.be/)(?!www.youtube.com/)(?!www.youtu.be/)[^\s\[<]+#ei' , "strtolower(idn_to_ascii(iconv('cp1251', 'utf-8','<a href=./goto.html?$0 target=_blank rel=nofollow>$0 </a>')))" , $text ) ;
то касячит наверное по причине ошибки описанной чуть выше, но хотелось бы чтоб работало как то так
PHP:
скопировать код в буфер обмена
$text = preg_replace ( '#(?<!\])\bhttp://(?!youtube.com/)(?!youtu.be/)(?!www.youtube.com/)(?!www.youtu.be/)[^\s\[<]+#ei' , "<a href=./goto.html?$0 target=_blank rel=nofollow>(strtolower(idn_to_ascii(iconv('cp1251', 'utf-8','$0 '))))</a>" , $text ) ;
то есть меняло ссылку в тегах, а не в тексте
должно множество ссылок плана:
преобразовать в
CODE (
html ):
скопировать код в буфер обмена
<a href = "./goto.html?http://igum16-1.xn--h1akva.xn--p1ai/" target = "_blank" rel = "nofollow" > http://igum16-1.инфф.рф/</ a >
Acbir
Отправлено: 18 Апреля, 2013 - 14:57:51 • Тема: проблемы после смены по php 5.4.12 • Форум: Вопросы новичков
Ответов: 2 Просмотров: 118
LIME спасиб
угу оказались все теже & видать перетрудился тогда, жаль не могу спасибо поставить, но все одно при огромно благодарен за ответ
Acbir
Отправлено: 17 Апреля, 2013 - 15:53:58 • Тема: проблемы после смены по php 5.4.12 • Форум: Вопросы новичков
Ответов: 2 Просмотров: 118
проблемы после смены ПО на php 5.4.12
есть форум IPB v2.3.6
часть нюансов подправил но столкнулся впервые с одной ошибкой, не могу понять причину и информации по аналогичным ситуациям никак не найду
все почти работает, но почему то некоторые файлы (хотя права доступа , стоят аналогичные на все) не хотят работать, при этом не выдают никаких ошибок, на форуме затыки на таких файлах заканчиваются белым листом
и даже если в файлы добавить в самом начале что то типо echo"wqeqwe";
не выводит ничего не только в скриптах, но и если запустить эти файлы через ssh
ошибок никаких не выдает, но и результата нет
подскажите куда копать, заранее спасибо
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB