|
|
|
| Вот такая проблема
Регулярное выражение должно удалить из строки все, что находиться между подстроками {IF} и {/IF} и сами эти подстроки. Все удаляеться хорошо, но в ряде случаев просто не работает. Опытным путем, долго долго мучаясь выяснил, что не работает в тех местах, где между {IF} и {/IF} встречаеться символ точки ( . )
Вот выражение:
<?
preg_replace('#{IF}([^.]*){/IF}#i', '', $str);
?>
|
Не могу понять где может быть проблема...
Помогите пожалуйста. | |
|
|
|
|
|
|
|
для: Temnovit
(04.01.2007 в 15:45)
| | Можно использовать такое рег. выражение: | |
|
|
|
|
|
|
|
для: kasmanaft
(04.01.2007 в 16:18)
| | Все работает. Просто здорово.
kasmanaft, спасибо большое.
Если не секрет, в чем же была моя ошибка и почему проблема была именно в точке? | |
|
|
|
|
|
|
|
для: Temnovit
(04.01.2007 в 17:11)
| | Ну начнем с того, что в кв. скобках обозначаются возможный символы... если поставить знак ^, то мы получим "не 'возможные_символы' ", отрицание то есть ... Точка здесь, если не ошибаюсь, будет обозначать не любой символ, а именно точку, вот и получилось "не точка" | |
|
|
|