Проблема с регулярными выражениями

Тема в разделе "Как сделать...", создана пользователем homme, 29 сен 2009.

Статус темы:
Закрыта.
  1. homme

    homme Постоялец

    Регистр.:
    19 апр 2009
    Сообщения:
    55
    Симпатии:
    12
    Привет. Помогите пожалуйста со скриптом. Застрял на регулярных выражениях.
    Часть кода...

    PHP:
    <?php
    $str
    ='<a href="http://web.tak.ru/clicks.php?key=159156250454086034687390395906178" class="takru" target=_top onclick="javascript: takrnd(this);">текст</a>';
    $result preg_match('/http:\/\/web.tak.ru\/clicks.php.key=[0-9]{33}/',$str$maches);
     
    echo 
    "Совпадений: $result<br>";
    //Пишет, что совпадений 0.
     
    ?>
    Проверил на конструкторе регулярных выражений и скачал программу Regex Coach. На них все прекрасно работает. Спасибо!
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    PHP:
    $str='<a href="http://web.tak.ru/clicks.php?key=159156250454086034687390395906178" class="takru" target=_top onclick="javascript: takrnd(this);">текст</a>';
    $result preg_match('%http://web.tak.ru/clicks\.php\?key=([0-9]{33})%i',$str$maches);
    print_r($maches);
     
    echo 
    "Совпадений: $result<br>";
     
    homme нравится это.
  3. victor89

    victor89 Постоялец

    Регистр.:
    6 май 2008
    Сообщения:
    83
    Симпатии:
    14
    Вся проблема не в регулярках а в неправельном выводу.
    Функция preg_match(регулярка,строка,результаты) обрабатывает строку с помощу регулярки и заносить все в результаты.
    Тебе нужно поправить:

    PHP:
    $str='<a href="http://web.tak.ru/clicks.php?key=159156250454086034687390395906178" class="takru" target=_top onclick="javascript: takrnd(this);">текст</a>';
    preg_match('%http://web.tak.ru/clicks\.php\?key=([0-9]{33})%i',$str$maches);

    echo 
    "совпадений-",count($maches);
    Скачай справочник фунций пхп.
     
Статус темы:
Закрыта.