[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: экранировка в preg_match
ilystone
Всем привет.
Такой вопрос: вот есть код:
preg_match('/<div(.*?)class="video_code"(.*?)>(.*?)<\/div>/', $text, $match)

Код не работает. В чем ошибка?



Спустя 1 час, 5 минут (4.09.2010 - 13:05) FatCat написал(а):
preg_match("/<div(.*?)class=\"video_code\"(.*?)>(.*?)<\/div>/", $text, $match)
Попробуй так.
Под одиночными кавычками экранировки не работают.

Спустя 1 час, 23 минуты, 48 секунд (4.09.2010 - 14:28) SlavaFr написал(а):
регулярка абсолютно в порядке.
наверное просто div через несколько строчек идет, и по этому не сробатывает.
надо модифер s добавить

<?php
error_reporting(E_ALL);

// Text bzw. String der durchsucht werden soll
$string = <<<EOF
The <div id="blja" class="video_code" style="xx" >Quick 15 BrownFox Jumped Over The Lazy Dogs.
The Quick Brown Fox Jumped Over </div> The Lazy 30 Dogs.

EOF;

// das Suchmuster mit Delimiter und Modifer (falls vorhanden)
$pattern = '/<div(.*?)class="video_code"(.*?)>(.*?)<\/div>/s';

// RegEx mit preg_match_all() auswerten
preg_match_all($pattern, $string, $array);

// formatierte Ausgabe
echo '<pre>', print_r($array, true), '</pre>';

?>

Спустя 28 минут (4.09.2010 - 14:56) ilystone написал(а):
SlavaFr
Спасибо, теперь все ОК)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.