[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярное выражение
Гость_Dimon
Здравствуйте!
<?php
$a = 'mama<div id="lfgghjkd"> mila </div>ramu </div>';
$content = ereg_replace('регулярное выражение','',$a);
echo $content;
?>


необходимо заместить первую пару <div id="lfgghjkd></div> вместе с содержимым, а второй тег </div> чтоб остался.



Спустя 2 минуты, 23 секунды (9.06.2010 - 15:59) DedMorozzz написал(а):
#<div id=".*">.*</div>#

Спустя 5 минут, 54 секунды (9.06.2010 - 16:05) Гость_Dimon написал(а):
#<div id=".*">.*</div># - в таком виде не замещает
<div id=".*">.*</div> - в таком замещает все, остается только mama

Спустя 28 секунд (9.06.2010 - 16:06) Dron19 написал(а):
Вот действующий вариант, на сколько я понял должно вернуть:
mama mila </div>ramu </div>, вот именно это и возвращает

<?php
$a = "mama<div id=\"lfgghjkd\"> mila </div>ramu </div>";
$test = preg_replace("|<div id=\"(.*)\">(.*)|i","\\2",$a);
echo $test;
?>

Спустя 39 секунд (9.06.2010 - 16:06) Dron19 написал(а):
Я наверное не правильно понял человека

Спустя 50 секунд (9.06.2010 - 16:07) Dron19 написал(а):
Ну то что я написал, можно использовать как подключение другого id класса, если там будут ошибки, то напишите где именно, заранее спасибо...

Спустя 2 минуты, 8 секунд (9.06.2010 - 16:09) DedMorozzz написал(а):
а если по краям добавить ^.......$

Спустя 33 секунды (9.06.2010 - 16:10) Гость_Dimon написал(а):
Цитата (Dron19 @ 9.06.2010 - 13:07)
Ну то что я написал, можно использовать как подключение другого id класса, если там будут ошибки, то напишите где именно, заранее спасибо...

Warning: ereg_replace() [function.ereg-replace]: REG_EMPTY in xxxxxxx on line 3

Спустя 32 секунды (9.06.2010 - 16:10) Dron19 написал(а):
нет, так нельзя, если добавиьт ^, то будет ошибка, в таком случае стоит добавить \b, по краям

Спустя 41 секунда (9.06.2010 - 16:11) Dron19 написал(а):
аа, я опять не так понял, если ^ и $, ТО можно

Спустя 1 минута, 8 секунд (9.06.2010 - 16:12) Dron19 написал(а):
Цитата (Гость_Dimon @ 9.06.2010 - 13:10)
Цитата (Dron19 @ 9.06.2010 - 13:07)
Ну то что я написал, можно использовать как подключение другого id класса, если там будут ошибки, то напишите где именно, заранее спасибо...

Warning: ereg_replace() [function.ereg-replace]: REG_EMPTY in xxxxxxx on line 3

так я использовал perg_replace

Спустя 7 минут, 4 секунды (9.06.2010 - 16:19) Guest написал(а):
Цитата
так я использовал perg_replace

да, исправил вот так

preg_replace("|<div id=\"(.*)\">(.*)</div>|i","",$a);

, но все равно замещает все остается только mama

необходимо как-то определить первое вхождение </div>

Спустя 19 минут, 8 секунд (9.06.2010 - 16:38) DedMorozzz написал(а):
... #<div id="(.*)">[\sА-z]+</div>#

Спустя 21 минута, 34 секунды (9.06.2010 - 17:00) Гость_Dimon написал(а):
помогло вот это:
/<div.*?>.*?<\/div>/i


Спустя 8 минут, 42 секунды (9.06.2010 - 17:09) Гость_Dimon написал(а):
а вобще конечно задачка весьма сложная, т.к. между тегами <div></div>может быть еще куча конструкций, опять таки вида <div></div> и удаление получается некорректным ну к примеру:
<div>
<div></div>
<div>
<div></div>
</div>
</div>
</div>

необходимо чтоб из данной конструкции остался только последний тег </div>, так сказать лишний...
имхо, тут без подсчета открывающих и закрывающих тегов не обойтись.

Спустя 1 час, 53 минуты, 17 секунд (9.06.2010 - 19:02) qpayct написал(а):
вырезай всё, что в закрытых тегах.
>> СЮДЫ <<

Спустя 2 часа, 42 секунды (9.06.2010 - 21:03) Dron19 написал(а):
Если надо получить вот это:
<div id="lfgghjkd">ramu </div>
То написал для тебя еще один код, который так сделает код:

<?php
$a = "mama <div id=\"lfgghjkd\"> mila </div>ramu </div>";
$test = preg_replace("|(.*)(<div id=\".*\">)(.*)<(.*)>(.*)(<(.*)>)|","\\2\\5\\6",$a);
echo $test;
?>

Спустя 52 секунды (9.06.2010 - 21:04) Dron19 написал(а):
А вообще советую тебе почитать это: http://softtime.ru/bookphp/gl7_1.php
и в дальнейшем сам будешь составлять такие выражения
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.