помогите с регуляркой

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

помогите с регуляркой

Сообщение Ozzy »

Помогите плиз с регуляркой,
надо из строки:
<a href="javascript:if(confirm('http://www.yiiframework.ru/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.yiiframework.ru/'" tppabs="http://www.yiiframework.ru/" target="_blank">
получить:
<a href="http://www.yiiframework.ru/" tppabs="http://www.yiiframework.ru/" target="_blank">
т.е. со слова
"javascript"
надо вырезать все до
" tppabs
таких ссылок в тексте может быть любое ко-во, вместо "www.yiiframework.ru" может быть все что угодно.
Мой маленький блог - http://dbhelp.ru
Аватара пользователя
xoma
Сообщения: 641
Зарегистрирован: 2009.04.02, 15:24
Откуда: Ногинск
Контактная информация:

Re: помогите с регуляркой

Сообщение xoma »

Обязательно вырезать??

Можно просто найти все слова в window.location='.....' и "засунуть" их в строку с необходимым html-кодом.

Т.е. из всех ссылок берем строку из window.location или из href (если нужно) и подставляем в новую строку.

Или нужно таким образом распарсить файлы с разметкой ?
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: помогите с регуляркой

Сообщение Ozzy »

Ага, нужно в большом html файле сделать нормальные ссылки. То там везде подпортил teleport-ер как в примере выше.

Как вариант я пока что вижу:
Найти в тексте все
href="javascript
и заменить их на
test="
к примеру. после чего найти все
tppabs=
и заменить на
href=
но может кто то знает более красивый способ
Мой маленький блог - http://dbhelp.ru
AlexKru
Сообщения: 1
Зарегистрирован: 2010.03.30, 22:40

Re: помогите с регуляркой

Сообщение AlexKru »

Вот накидал на скорую руку, возможно неправильно...

Код: Выделить всё

preg_match( "/window.location='(.*)'/" , $string , $matches );

echo preg_replace( "/(\"java.*\")/" , '"'.$matches[1].'" ' , $string );  
$string - строка со ссылкой
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: помогите с регуляркой

Сообщение Ozzy »

спасибо, попробую
Мой маленький блог - http://dbhelp.ru
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: помогите с регуляркой

Сообщение samdark »

Можно узнать, зачем teleport? Я могу исходником поделиться, если надо.
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: помогите с регуляркой

Сообщение Ozzy »

Sam Dark писал(а):Можно узнать, зачем teleport? Я могу исходником поделиться, если надо.
ну мне мой блог и все статьи скинули скаченые через телепорт. а этот паршивец там все ссылки в тексте подпортил тем образом что я написал выше
Мой маленький блог - http://dbhelp.ru
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: помогите с регуляркой

Сообщение samdark »

А, ок. Я просто подумал, что yiiframework.ru телепортить решили.
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: помогите с регуляркой

Сообщение Ozzy »

нее :)
Мой маленький блог - http://dbhelp.ru
andry
Сообщения: 224
Зарегистрирован: 2009.11.08, 16:52

Re: помогите с регуляркой

Сообщение andry »

сожалею о случившемся, неприятная ситуация когда теряешь данные. Решил написать парсер с помощью которого сграбил все страницы из кэша гугла и яндекса то что было проиндексировано.

Скачать
http://ifolder.ru/17070548
Название: cache_ya_google.rar
Размер: 3.89 Мб
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: помогите с регуляркой

Сообщение Ozzy »

Спасибо большущее за данные и за уделенное время
Очень поможет в восстановлении
Мой маленький блог - http://dbhelp.ru
Ответить