Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с регулярным выражением 
:(
    Опции темы
C5oLoJ
  Дата 21.4.2008, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 24.7.2007

Репутация: нет
Всего: нет



Мой скрипт ищет на странице ссылки заключенные между значениями
Код

<?php

$str = file_get_contents('http://############');

$pattern = "!<br>(.*)top>!sU";

$n = preg_match_all ($pattern, $str, $res);


Но их всегда больше 1 а как вывести только скажем первую попавшуюся!?


PM MAIL   Вверх
skyboy
Дата 21.4.2008, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



использовать preg_match вместо preg_match_all

PM MAIL   Вверх
C5oLoJ
  Дата 22.4.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 24.7.2007

Репутация: нет
Всего: нет



preg_match_all — Выполняет глобальный поиск шаблона в строке
preg_match — Выполняет проверку на соответствие регулярному выражению

Мне не нужна проверка мне нужен поиск значения, только при нахождении нескольких значений должно выводится только одно значение! 

т.е. наверно нужно было спросить как настроить вывод значения а не поиск

Код

<?php

$str = file_get_contents('http://############');

$pattern = "!<br>(.*)top>!sU";

$n = preg_match_all ($pattern, $str, $res);

for ($i=0;$i<$n;$i)  
   echo ($res[1][$i++])."<br>"."Здесь текст ссылки </a>"."<br>";
?>


Данный код выводит 

все результаты поиска в виде ссылок
Здесь текст ссылки
Здесь текст ссылки
Здесь текст ссылки


А при замене на preg_match
Код

<br>Здесь текст ссылки</a>


Может я чет не понял и нужно изменить данные вывода?
PM MAIL   Вверх
skyboy
Дата 22.4.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(C5oLoJ @  22.4.2008,  19:23 Найти цитируемый пост)
Выполняет проверку на соответствие регулярному выражению

неправда. результат выполнения функции - 0 или 1(количество совпадений), но возвращается также и сами части совпадения. в третьем параметре, переданном в функцию.
почему бы не читать документацию
PM MAIL   Вверх
awers
Дата 22.4.2008, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



C5oLoJ, Учить МАТЧАСТЬ. preg_match
PM MAIL WWW ICQ Skype   Вверх
C5oLoJ
Дата 23.4.2008, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 24.7.2007

Репутация: нет
Всего: нет



так что ж получается так что ли:
Код

$str = file_get_contents('http://############');

$pattern = "!<br>(.*)target!sU";

$n = preg_match ($pattern, $str, $res);

for ($i=0;$i<$n;$i)  
   echo ($res[1][$i++])."><br>"."Здесь текст ссылки </a>"."<br>";



Но не работает, не пойму в чем дело вроде все правельно!
должна получится такая строка
Код

<a href="http://############" class="##########"><br>-Здесь текст ссылки</a><br>

а выходит такая
Код

><br>-Здесь текст ссылки</a><br>

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0903 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.