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

Статус
В этой теме нельзя размещать новые ответы.

mc-alkin

Постоялец
Регистрация
17 Июл 2009
Сообщения
161
Реакции
100
в странице есть 1-2 ссылки. в ней баннер и рекламный текст. например:
PHP:
<a href="http://google.com" style="font: bold 16px Georgia, 'Times New Roman', Times, serif;"><img src="images/banner.gif" width="605" height="90" border="0"><br>
    Visit our site <br>
    Big google <br>
    Help me!</a>

- подскажите, как регуляркой заменить Для просмотра ссылки Войди или Зарегистрируйся на Для просмотра ссылки Войди или Зарегистрируйся
- images/banner.gif на Для просмотра ссылки Войди или Зарегистрируйся
- Visit our site <br>Big google <br>Help me! на "My big<br>text"

это вообще реально? ereg_replace поможет?
 
PHP:
preg_replace('|<a href="(.*?)" style="font|is', 'http://yahoo.com');
 
опять из пушки по воробьям. используй str_replace
 
PHP:
str_replace (array("yahoo.com", "yandex.ru", "bing.com"), array ("google.com", "google.com", "google.com"), $string);

в чем проблема то?
 
в чем проблема то?
в том что меняется урл, src=... и текст
может урл не так часто, но банер и текст всегда разный... И таких странц 1500.

Добавлено через 46 минут
или тогда заменить те ссылки полностью, где есть Для просмотра ссылки Войди или Зарегистрируйся...

что-то типо этого:
$srt = preg_replace("/<a href=\"http:\/\/in\.(.*)?<\/a>/eim", '111111111', $srt);
Но тут косяки с переносами каретки, не срабатывает почему то((( подскажите как?
 
Проблема с переносами строк решается модификатором s:
Код:
$srt = preg_replace("/<a href=\"http:\/\/in\.(.*)?<\/a>/eim[B][COLOR="Red"]s[/COLOR][/B]", '111111111', $srt);
s (PCRE_DOTALL)
Если данный модификатор используется, метасимвол "точка" в шаблоне соответствует всем символам, включая перевод строк. Без него - всем, за исключением переводов строк.
 
помогите вставить переменную $more в регулярку
PHP:
$subject=('привет пока');
$pattern = '/\bпривет\b/i';
echo preg_replace($pattern,'1', $subject);
надо так, но неработает
PHP:
$subject=('привет пока');
$more=('привет');
$pattern = '/\b$more\b/i';
echo preg_replace($pattern,'1', $subject);
 
Используй двойные ковычки.
PHP:
$pattern = "/\b$more\b/i";
Ещё вариант:
PHP:
$pattern = '/\b'.$more.'\b/i';
 
помогите написать регулярку, нужно разделить текст вида
PHP:
слово || слово2 || слово3
и получить переменные
PHP:
$per1=слово
$per2=слово2
$per3=слово3
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху