информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetГде водятся OGRыЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Спасибо! получилось. 04.11.03 17:24  Число просмотров: 1434
Автор: Hux0r Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<programming>
php: Поиск в тексте. 04.11.03 10:39  
Автор: Hux0r Статус: Незарегистрированный пользователь
<"чистая" ссылка>
В html тексте:
 
<input type=hidden name=TRANSACTION_NUMBER value="12345">

---
мне нужно найти строку "12345" Как это можно сделать на php?
Сначала, по идее, я должен найти "TRANSACTION_NUMBER" так:
if (ereg("PAYMENT_BATCH_NUM",$buffer)){...Нашли...}
А потом как найти значение "12345"?

Спасибо.
preg_match_all пользуй 04.11.03 10:51  
Автор: whiletrue <Роман> Статус: Elderman
Отредактировано 04.11.03 10:57  Количество правок: 3
<"чистая" ссылка>
> В html тексте:
>
 > <input type=hidden name=TRANSACTION_NUMBER
> value="12345">
> 

---
> мне нужно найти строку "12345" Как это можно сделать на
> php?
> Сначала, по идее, я должен найти "TRANSACTION_NUMBER" так:
> if (ereg("PAYMENT_BATCH_NUM",$buffer)){...Нашли...}
> А потом как найти значение "12345"?
>
> Спасибо.

Что-то типа:

preg_match_all("/TRANSACTION_NUMBER[\s\n\r\t]+value=\"(.*)\">/simU", ,join('',$html_text), $result);

в $result[1] - будет массив твоих найденных значений (12345)

З.Ы. Лучше под себя переделай - пример далек от идеала.
preg_match_all пользуй 04.11.03 11:32  
Автор: Hux0r Статус: Незарегистрированный пользователь
<"чистая" ссылка>

> preg_match_all("/TRANSACTION_NUMBER[\s\n\r\t]+value=\"(.*)\
> ">/simU", ,join('',$html_text), $result);
>
> в $result[1] - будет массив твоих найденных значений
> (12345)
>
> З.Ы. Лучше под себя переделай - пример далек от идеала.

Ошибку выдает parse error, unexpected ',' . Может где запятая лишняя? А потом $html_text должен быть массивом, но у меня это не массив ведь а строка. Можно как-то упростить пример?
preg_match_all пользуй 04.11.03 11:40  
Автор: whiletrue <Роман> Статус: Elderman
Отредактировано 04.11.03 11:58  Количество правок: 1
<"чистая" ссылка>
>
> >
> preg_match_all("/TRANSACTION_NUMBER[\s\n\r\t]+value=\"(.*)\
> > ">/simU", ,join('',$html_text), $result);
> >
> > в $result[1] - будет массив твоих найденных значений
> > (12345)
> >
> > З.Ы. Лучше под себя переделай - пример далек от
> идеала.
>
> Ошибку выдает parse error, unexpected ',' . Может где
> запятая лишняя? А потом $html_text должен быть массивом, но
> у меня это не массив ведь а строка. Можно как-то упростить
> пример?

$html_text - если ты его достал с помощью file(), то он массив строк. Так обычно делают, поэтому я join и написал.

насчет запятой - фиг знает попробуй \" заменить на [\"]... попробуй проще условие записать... поэксперементируй вообще.

int preg_match_all ( string pattern, string subject, array matches [, int flags])

Вот неплохой пример из хелпа:

<?php
// The \\2 is an example of backreferencing. This tells pcre that
// it must match the second set of parentheses in the regular expression
// itself, which would be the ([\w]+) in this case. The extra backslash is
// required because the string is in double quotes.
$html = "bold text<a href=howdy.html>click me</a>";

preg_match_all ("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $matches);

for ($i=0; $i< count($matches[0]); $i++) {
echo "matched: ".$matches[0][$i]."\n";
echo "part 1: ".$matches[1][$i]."\n";
echo "part 2: ".$matches[3][$i]."\n";
echo "part 3: ".$matches[4][$i]."\n\n";
}
?>
Спасибо! получилось. 04.11.03 17:24  
Автор: Hux0r Статус: Незарегистрированный пользователь
<"чистая" ссылка>
php: Поиск в тексте. 04.11.03 10:45  
Автор: trent Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> мне нужно найти строку "12345" Как это можно сделать на php
if (($pos = strpos('TRANSACTION_NUMBER')) !== false) {
нашли и вырезали с помощью substr, не забываем что в $pos храниться позиция строки 'TRANSACTION_NUMBER'
}

http://www.php.net/substr
http://www.php.net/strpos
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach