Описание: Обработка перед выводом |
Поиск в теме | Версия для печати |
Furax |
Отправлено: 17 Ноября, 2008 - 09:38:09
|
Бледнотик
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007
Откуда: Иркутск, Сибирь, СССР
Карма 32
|
То есть такой диапазон один. Тогда так:CODE:function replaceInterval($Context, $Begin, $End, $Replace)
{
$begin = strpos($Context, $Begin);
$end = strpos($Context, $End) + strlen($End);
return substr($Context, 0, $begin) . $Replace . substr($Context, $end);
}
echo replaceInterval($content, '<--start-->', '<--finish-->', "Чем заменить"); |
|
|
Vladimir |
Отправлено: 18 Ноября, 2008 - 03:25:08
|
Advanced Member
Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005
Карма 0
|
CODE:function replaceInterval($Context, $Begin, $End, $Replace)
{
$begin = strpos($Context, $Begin);
$end = strpos($Context, $End) + strlen($End);
return substr($Context, 0, $begin) . $Replace . substr($Context, $end);
}
if (strpos($txt2, 'слово')!==FALSE)
echo replaceInterval($content, '<--start-->', '<--finish-->', "чем заменить");
else
echo $content; Не работает.
Если в $txt2 встречается 'слово', то тогда лишь добавляется в начало первого тега "чем заменить", но не заменяется. |
|
|
Furax |
Отправлено: 18 Ноября, 2008 - 06:14:15
|
Бледнотик
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007
Откуда: Иркутск, Сибирь, СССР
Карма 32
|
А при чём тут вообще другая переменная $txt2?
Да, виноват, не учёл, что искомых подстрок в исходной строке может и не быть. Тогда так:CODE:<?php
function replaceInterval($Context, $Begin, $End, $Replace)
{
$begin = strpos($Context, $Begin);
$end = strpos($Context, $End);
if ($begin === FALSE || $end === FALSE)
return $Context;
$end += strlen($End);
if ($begin > $end)
return $Context;
return substr($Context, 0, $begin) . $Replace . substr($Context, $end);
}
echo replaceInterval('Я у <--start-->папы Карло<--finish--> жил долго и счастливо.', '<--start-->', '<--finish-->', "Карабаса-Барабаса");
echo '<br>';
echo replaceInterval('Я у <-start->Чипполино<-finish-> жил долго и счастливо.', '<--start-->', '<--finish-->', "Карабаса-Барабаса");
?> |
|
|
Vladimir |
Отправлено: 18 Ноября, 2008 - 14:05:46
|
Advanced Member
Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005
Карма 0
|
CODE:$tags = array
(
'<--start-->' => $start,
'<--finish-->' => $finish
);
if (strpos($txt2, 'слово')!==FALSE)
echo strtr($content, $tags);
else
echo $content; Как здесь указать несколько определённых слов, чтобы при присутствии любого из них, вырезались теги?(Отредактировано автором: 18 Ноября, 2008 - 14:10:42) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (2): « 1 [2] |
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0, скрытых: 0) |
« PHP/Perl » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|