2013-05-28 3 views
1

У меня есть пример кода:Как удалить строку с помощью preg_replace?

$content = "Tuesday 28th May 2013 07:22<br/><br/>Hello world"; 

И используя код:

preg_replace("s/(<br[^>]*>\s*){2,}/", "", $content); 

Но результат не так, как удалить эту строку для результата является "Hello world";

+0

Непонятно, что вы хотите удалить ... – MMM

+0

Удалить, на каких условиях? Всегда ли строка «Привет мир»? Все после '
'? После двух '
' s? После даты? –

+1

'$ content =" Hello world ";' это удалит его для ya :) –

ответ

0

Как и в любом языке программирования, есть сотни способов сделать все. Вот как это сделать с preg_replace(), так как это была ваша примерная попытка. Не уверен, что конечная цель на вопрос ... но вот несколько примеров:

$content = "Tuesday 28th May 2013 07:22<br/><br/>Hello world"; 

Возвращение "Hello World" только:

$hello = preg_replace('!^([^<]+)(<[^>]+>){2}!','',$content); 

Время возвращения Порция только:

$time = preg_replace('!^([^<]+)(<[^>]+>){2}(.*)$!',"$1",$content); 

Удаляет теги (strip_tags() обычно лучше для этого, но в этом случае у вас нет словарного пространства):

$clean_content = preg_replace('!^([^<]+)(<[^>]+>){2}(.*)$!',"$1 $3",$content); 

Распечатайте заявлений:

echo $hello."<br>"; 
echo $time."<br>"; 
echo $clean_content."<br>"; 

Выход (я добавляю в <br> тег для удобства чтения в браузере):

Привет мир

двадцать восьмой Вторник Май 2013 07:22

Вторник 28 мая 2013 07:22 Привет, мир

Смежные вопросы