|
|
|
| Извините за то что поднимаю старую тему но примеры, указанные в предыдущей теме у меня не работают.
Нужно получить содержимое тега
<BODY ….. > Текст </ …. BODY …… >
| причем рег. выражение должно быть “бронебойным”.
Помогите, пожалуйста! | |
|
|
|
|
|
|
|
для: graga
(01.09.2008 в 15:49)
| | может что-нибудь типа этого?
<?php
preg_match_all('|<body[^>]+>(.*)</body[^>]+>|i', $str, $regs)
print_r($regs[1]);
?>
|
| |
|
|
|
|
|
|
|
для: Balamut182
(01.09.2008 в 16:18)
| | Notice: Array to string conversion
Побывал во всех позах, не работает.
Может проблема в php 4.4.0 | |
|
|
|
|
|
|
|
для: graga
(01.09.2008 в 19:08)
| | странно, а у меня работает на php5, врядли проблема в этом, что у вас в $str? - распечатайте | |
|
|
|
|
|
|
|
для: Balamut182
(01.09.2008 в 19:10)
| | >странно, а у меня работает на php5, врядли проблема в этом, что у вас в $str? - распечатайте
Тестовая форма
<?php
$str="";
if(isset($_POST['Submit'])){
$str=$_POST['textarea'];
}
preg_match_all('|<body[^>]+>(.*)</body[^>]+>|i', $str, $regs);
print"<form id='form1' name='form1' method='post' action=''>
<textarea name='textarea' cols='100' rows='5'></textarea>
<br><br><input type='submit' name='Submit' value='Подтвердить'>
</form><br><br><br><br>";
print_r($regs[1]);
?>
|
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ Без Имени</title>
</head>
<body>
Счастье иногда так неожиданно сваливается, что не успеваешь отскочить в сторону.
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: graga
(01.09.2008 в 19:45)
| | ну а так?
<?php
preg_match_all('|<body[^>]+>([^</body>]*)|i', $str, $regs);
print_r($regs[1]);
?>
|
| |
|
|
|
|
|
|
|
для: Balamut182
(02.09.2008 в 09:55)
| | Результат
Воспользуйтесь тестовой формой.
Я неуверен что вообще правильно применяю рег. выражение. | |
|
|
|
|
|
|
|
для: graga
(02.09.2008 в 10:09)
| | регулярка походу работает - проблема в том через пост, по крайней мере у меня, не проходят теги - только сам текст - вам обязательно постить эти данные? | |
|
|
|
|
|
|
|
для: graga
(02.09.2008 в 10:09)
| | первое выражение неплохое,
только не хватало модификатора "s" , и "*" вместо "+"
<?php
$text = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:.........">
<html xmlns="http:...................">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ Без Имени</title>
</head>
<body>
Счастье иногда так неожиданно сваливается, что не успеваешь отскочить в сторону.
</body>
</html>
';
if (isset($_POST['textarea']) && preg_match('|<body[^>]*>(.*)</body[^>]*>|is',
$_POST['textarea'], $str))
print '<pre>' . htmlspecialchars($str[1]) . '</pre><hr>';
?>
<form method='post' action='?'>
<textarea name='textarea' cols='100' rows='5'><?
print htmlspecialchars($text);
?></textarea>
<br><br><input type='submit' value='Подтвердить'>
</form>
|
| |
|
|
|
|
|
|
|
для: xx77
(02.09.2008 в 21:49)
| | Большое спасибо участникам форума за помощь.
Разобрался, все отлично работает. :-) | |
|
|
|