"умная" регулярка

zilon

Постоялец
Регистрация
30 Июл 2011
Сообщения
370
Реакции
146
есть ссылка с атрибутами например - class="ololo" id="trololo"

HTML:
<a class="ololo" id="trololo" href="/.*/"><b>.*</b></a>

надо вырезать - class="ololo" id="trololo" записать в переменную и вставить в регулярку вроди как так

PHP:
$gan = ' class="ololo" id="trololo" ';
$reg = preg_replace ('/<a.*href=".*">/', '<a $gan href="#">',  $reg);

а чем это можно сделать, какой функцией? :nezn:
 
PHP:
$ssilka = '<a href="fds" ....>';
preg_match('/<a (class=".*?" id=".*?")/uism', $ssilka, $gan);
 
echo $gan['1']
Если тексть НЕ в формате utf-8, а например вин-1251, то убрать модификатор "u" в тексте /uism

Далее переменную (элемент массива) $gan['1'] вставляешь в с помощью preg_replace
 
я сейчас упорот но возможно заработает

Код:
$count = null;
$returnValue = preg_replace('~<a.*?((class=".*?".*?id=".*?")|(id=".*?".*?class=".*?")).*?><b>.*</b></a>~', '<a $1>super new</a>', '<a class="ololo" id="trololo" href="adsada"><b>sssss</b></a>
<a id="trololo" class="ololo" href="sssss"><b>ssss</b></a>', -1, $count);
 
заработало!:yahoo::party::alko:

PHP:
preg_match('/<a (class=".*?" id=".*?")/uism', $current, $gan);
foreach ($gan as $filename) {
$current = preg_replace ("/<a class=.*id=.*href=.#.>/", "<a $filename href='/$current_login/'>", $current);}
только если в ссылке будет сначала id потомом class то хз будет работать или нет... надо тестить
 
заработало!:yahoo::party::alko:
только если в ссылке будет сначала id потомом class то хз будет работать или нет... надо тестить
В примере KillDead - будет. В моем не будет, т.к. в начальных условиях это не оговаривалось.
 
Назад
Сверху