|
|
|
| Как вытереть в строке все, между <fafa> и </fafa> - причем, если они встречаются неизвестно сколько раз? | |
|
|
|
|
|
|
|
для: Shorr Kan
(16.08.2005 в 07:24)
| | Может я ошибаюсь, но по-моему можно регулярными выражениями
preg_replace("/^<fata>[\S\s]*<\/fata>*)$/i","",$obj);
или что-то в этом роди.
|
| |
|
|
|
|
|
|
|
для: Ziq
(16.08.2005 в 07:55)
| | Warning: Compilation failed: unmatched parentheses at offset 25 | |
|
|
|
|
|
|
|
для: Shorr Kan
(16.08.2005 в 08:32)
| | $obj=preg_replace("/^<Tracks>[\S\s]*<\/Tracks>*$/i","",$obj);
print htmlspecialchars($obj);
Сделал так. Но он ничего не вырезает... Мне кажется, ошибка где-то в *$/i
Исправил на
$obj=preg_replace("/<Tracks>[\S\s]*<\/Tracks>/i","",$obj);
print htmlspecialchars($obj);
сработало, но вырезало только один раз... да и то - очень странно вырезало :( | |
|
|
|
|
|
|
|
|
для: Shorr Kan
(16.08.2005 в 07:24)
| | Это зависит от того, имеется ли между тэгами другие тэги, если имеются, тогда придётся заменить их на какой-то уникальный символ, а потом восстановить по окончанию. Если между ними других тэгов нет, то можно воспользоваться следующим выражением
<?php
$text = 'Как вытереть в строке все, между <fafa> и </fafa> - причем, если они встречаются неизвестно сколько раз?';
echo preg_replace("|<fafa>([^<]+)<|i","<fafa><",$text);
?>
|
| |
|
|
|