Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как обрезать строку?
 
 автор: Bvz   (26.08.2010 в 22:10)   письмо автору
 
 

есть например текст

$text=
"<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
содержимое...
</body>
</html>";


а как обрезать $text, чтоб получилось:

$text=
"<body>
содержимое...
</body>";

  Ответить  
 
 автор: Usta   (26.08.2010 в 22:44)   письмо автору
 
   для: Bvz   (26.08.2010 в 22:10)
 

Эта функция доступна только в Движке Zend 2, что означает PHP >= 5.0.0.

  <?
$text
=
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
содержимое...
</body>
</html>'


$tidy tidy_parse_string($text);
$body tidy_get_body($tidy);
echo 
$body->value;
?>

  Ответить  
 
 автор: Bvz   (26.08.2010 в 22:50)   письмо автору
 
   для: Usta   (26.08.2010 в 22:44)
 

а без zend?

  Ответить  
 
 автор: Usta   (26.08.2010 в 22:54)   письмо автору
 
   для: Bvz   (26.08.2010 в 22:50)
 

Вы про какой ZEND ? echo phpinfo(); Если на сервере стоит ZEND то все ок. процентов 80% что есть.

  Ответить  
 
 автор: Bvz   (26.08.2010 в 23:16)   письмо автору
 
   для: Usta   (26.08.2010 в 22:54)
 

а если не стоит?

  Ответить  
 
 автор: Usta   (26.08.2010 в 23:37)   письмо автору
 
   для: Bvz   (26.08.2010 в 23:16)
 

Вроде так.

<?
preg_match_all
("|<body>(.*)<\/body>|U",$text,$out);
echo 
$out[0];
?>

  Ответить  
 
 автор: Bvz   (26.08.2010 в 23:48)   письмо автору
 
   для: Usta   (26.08.2010 в 23:37)
 

выдает Array


вот нашел решение:

<?
$text
="<b>Есть переменная, содержащая строку(хтмл-код страницы).
Нужно получить строку которая содержится между тегами  и </b>
Как это эффективнее сделать?"
;
preg_match('/<b>([\\w\\W]*)<\/b>/i'$text$regs)
echo 
$regs[0];

единственное он обрезает, включая тег <b> и </b> а как чтоб извлекал содержимое между этими тэками?

  Ответить  
 
 автор: Usta   (26.08.2010 в 23:54)   письмо автору
 
   для: Bvz   (26.08.2010 в 23:48)
 

А так??

<?
preg_match
("|<body>(.*)<\/body>|U",$text,$out);
echo 
$out[0];
?> 

Ваш

<?
$text
="<b>Есть переменная, содержащая строку(хтмл-код страницы).
Нужно получить строку которая содержится между тегами  и </b>
Как это эффективнее сделать?"
;
preg_match('/<b>([\\w\\W]*)<\/b>/i'$text$regs)
echo 
"<b>".$regs[0]."</b>"

  Ответить  
 
 автор: Bvz   (27.08.2010 в 00:01)   письмо автору
 
   для: Usta   (26.08.2010 в 23:54)
 

собственно разницы не вижу, нет не работает

  Ответить  
 
 автор: Bvz   (27.08.2010 в 00:15)   письмо автору
 
   для: Bvz   (27.08.2010 в 00:01)
 


$text = file_get_contents("http://www.site.com/");
preg_match('/<body>([\\w\\W]*)<\/body>/i', $text, $regs);
echo $regs[0];


он вырезает включая теги <body></body>, а мне надо без них, подскажите как?

  Ответить  
 
 автор: Саня   (27.08.2010 в 00:18)   письмо автору
 
   для: Bvz   (27.08.2010 в 00:15)
 

echo $regs[1];

  Ответить  
 
 автор: Bvz   (27.08.2010 в 00:23)   письмо автору
 
   для: Саня   (27.08.2010 в 00:18)
 

спасибище!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования