Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > проблемы с регулярным выражением


Автор: titanrem 17.10.2011, 19:25
В строку $fileStr читается html файл. Если регулярное выражение писать как ниже, то находятся соответствующие строки
Код

   $fileStr="<BR><SPAN class=\"sclc\"><A href=\"http://www.technicum.com.ua/product838.html\">HOTPOINT-ARISTON  LST 1147</A></SPAN><BR><B>Цена:         3088.48&nbsp;грн.</B><BR><BR>  </TD>";
        $pattern="<SPAN>";
        preg_match_all($pattern, $fileStr, $res);
        echo"<pre>";
        print_r($res);
        echo"</pre>";

А вот если написать 
Код

 $pattern="/<SPAN>/";

то уже ничего не находит. В чем проблема? Помогите.

Автор: $дмитрий 17.10.2011, 20:07
А зачем модификатор U?
Какой текст находится в 1.htm?

Код

$res=array();

Не обязательно объявлять

Автор: titanrem 17.10.2011, 20:18
$дмитрий , я с Вашими замечаниями согласен. Поэтому поменял код.
Народ, помогите, плиз.

Добавлено @ 20:21
Также если написать 

$pattern="/<SPAN class=\"sclc\">/";

Находить ничего не будет, а вот если написать 
Код

$pattern="/SPAN class=\"sclc\">/";

Находит.
Почему?

Автор: $дмитрий 17.10.2011, 20:25
А так?
Цитата

$pattern="#\<span class=\"sclc\">#is";

Автор: titanrem 17.10.2011, 20:29

нет, не работает

Автор: Evghenusi 17.10.2011, 20:35
http://www.regexpr.ru/?pattern=%2F%3CSPAN+class%3D%5C%5C%22sclc%5C%5C%22%3E%2F&subject=%3CBR%3E%3CSPAN+class%3D%5C%22sclc%5C%22%3E%3CA+href%3D%5C%22http%3A%2F%2Fwww.technicum.com.ua%2Fproduct838.html%5C%22%3EHOTPOINT-ARISTON++LST+1147%3C%2FA%3E%3C%2FSPAN%3E%3CBR%3E%3CB%3E%D6%E5%ED%E0%3A+++++++++3088.48%26nbsp%3B%E3%F0%ED.%3C%2FB%3E%3CBR%3E%3CBR%3E++%3C%2FTD%3E

Автор: $дмитрий 17.10.2011, 20:35
Работает
Код

<?
$fileStr="<BR><SPAN class=\"sclc\"><A href=\"http://www.technicum.com.ua/product838.html\">HOTPOINT-ARISTON  LST 1147</A></SPAN><BR><B>Цена:         3088.48&nbsp;грн.</B><BR><BR>  </TD>";
preg_match_all("#<SPAN class=\"sclc\">#", $fileStr, $res);
echo"<pre>";
echo htmlspecialchars($res[0][0]);
echo"</pre>";
?>

Автор: titanrem 17.10.2011, 20:49
Спасибо. Я понял, проблема в том, что интерпретировался html код. smile
Еще раз спасибо.
Вопрос решен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)