Форум сетевых администраторов
Показаны 9 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Регулярные выражения... (http://netadmin.ws/forum/showthread.php?threadid=6297)


Помещено Andrej 17-08-2003 в 12:30:

Unhappy Регулярные выражения...

Имеется файл test.htm:


code:

<html>
<p>Текст текст текст 
и ещё текст</p>
</html>



И файл test.php:


PHP:

<?php
$file 
= fopen ("test.htm", "r");
while (!
feof ($file)){
       
$line = fgets ($file, 1024);
       if (
eregi ("<p>(.*)( |\n|\r*)(.*)</p>", $line, $out)){
           
$content = $out[1];
       }
}
fclose($file);
echo 
$content;
?>



При запуске test.php должен выводится текст "Текст текст текст и ещё текст", чего не происходит... Если бы в файле test.htm не было перевода строки, то всё бы нормально выводилось... Вопрос: как из файла test.htm получить требуемый текст, если имеются переводы строк? Чувствую, что сам шаблон (<p>(.*)( |\n|\r*)(.*)</p> ) написан не правильно

__________________
f9ffe3323e79b2a558b92af5b4039e20


Помещено ExcErr 18-08-2003 в 15:46:

А нельзя просто вырезать HTML-тэги?

__________________
Жизнь как минное поле, не знаешь где нарвешься...
http://www.danasoft.com/sig/ExcErr2.jpg


Помещено Andrej 18-08-2003 в 20:20:

ExcErr
Нет, так не получится... Переводы строк всё равно остаются

HTML файл после вырезания тэгов:


code:


Тект текст текст 
и ещё текст


__________________
f9ffe3323e79b2a558b92af5b4039e20


Помещено webgrs 20-08-2003 в 04:55:

так потом вырежи и \n


Помещено blacki 20-08-2003 в 09:05:

webgrs так не получится.

Andrej напиши вот так:

PHP:


$id_data 
= eregi_replace("([]+)", "", $id_data);


на месте сисвола превода каретки тискай интер и пиши дальше.

__________________
Национальность - русский, вероисповедание - программист.


Помещено Andrej 20-08-2003 в 16:27:

blacki
Спасибо Я уже понял, что надо сначала сделать замену, а потом вытащить нужные данные

__________________
f9ffe3323e79b2a558b92af5b4039e20


Помещено ExcErr 10-09-2003 в 14:46:

Господа, а \r\n уже отменили в смысле? не верю чтоб не прокатил вариант с переводом каретки.

__________________
Жизнь как минное поле, не знаешь где нарвешься...
http://www.danasoft.com/sig/ExcErr2.jpg


Помещено blacki 10-09-2003 в 14:47:

ExcErr попробуй сам, у меня помница не прокатывал.

__________________
Национальность - русский, вероисповедание - программист.


Помещено whisk 07-10-2003 в 20:29:

Можно сразу все возможные \r прибить, оставив только \n, чтобы не гадать где \n или \n\r, или даже \r\n
$str = str_replace("\r", "", $str);

Да и зачем eregi, когда есть preg_match?


Формат времени GMT. Текущее время 06:59.
Показаны 9 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.