PDA

Просмотр полной версии : [php] удаление стро #2


rubik-nerubik
18.12.2009, 15:17
вообщем возникла ещё сложнее проблема
есть строка типа:


<a class="group_2" href="/index.php?content=catalog&amp;group1=%D7%E5%F0%F2%E5%E 6%ED%FB%E5+%E8%ED%F1%F2%F0%F3%EC%E5%ED%F2%FB&amp;group 2=%CB%E8%ED%E5%E9%EA%E8+%E8+%EB%E5%EA%E0%EB%E0">Линейки и лекала</a>


надо преобразовать её в
<b>Линейки и лекала</b>

причем параметр group1 и group2 могут быть разной длинны и содержания и ещё, Линейки и лекала тоже может быть разные 0_о

rushter
18.12.2009, 15:31
$lnk = "<a class="group_2" href="/index.php?content=catalog&amp;group1=%D7%E5%F0%F2%E5%E 6%ED%FB%E5+%E8%ED%F1%F2%F0%F3%EC%E5%ED%F2%FB&amp;group 2=%CB%E8%ED%E5%E9%EA%E8+%E8+%EB%E5%EA%E0%EB%E0">Линейки и лекала</a>";
preg_match('>(.*?)</a>',$lnk,$out);
print_r($out);

m0Hze
18.12.2009, 15:39
preg_replace('#\">(.*)<\/a>#isU','<b>$1</b>',$text);
Примерно так

rubik-nerubik
18.12.2009, 15:40
нененене стойте! забыл коечто!!! там есть groupe_2 и есть groupe_3 надо удалить тока там где есть groupe_2!!

m0Hze
18.12.2009, 15:51
if(sripos($text,"groupe_2")){
preg_replace('#\">(.*)<\/a>#isU','<b>$1</b>',$text);
}else{
blabla;
}

rubik-nerubik
18.12.2009, 15:58
не работает я так понимаю ты хотел имел ввиду strpos а не срипос)) ну всеровно не пашет

п.с. удаляёт абсолютно всё а надо только указанное

m0Hze
18.12.2009, 16:17
не работает я так понимаю ты хотел имел ввиду strpos а не срипос)) ну всеровно не пашет

п.с. удаляёт абсолютно всё а надо только указанное
Ну так это пример,эксперементируй с регулярками,я просто наводку дал.

rubik-nerubik
18.12.2009, 16:32
наводку то дал, а не работает, потыкал не вышло ничего толкового сделать

помогитееееее

krypt3r
18.12.2009, 16:37
Может, так?

preg_replace ('/<a.+?class="group_2".*?>(.+?)<\/a>/', '<b>$1</b>', $text);

rubik-nerubik
18.12.2009, 20:50
может да