Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помощь нужна как никогда
Форумы портала PHP.SU » » HTTP и PHP » Помощь нужна как никогда

Страниц (1): [1]
 

1. improbable - 06 Мая, 2012 - 19:21:38 - перейти к сообщению
Есть большая страница, из которой мне нужна одна лишь строка.
Но не всё так просто. До этой строчки ~16000 знаков (html код).
Кол-во знаков постоянно меняется.

Строка вот такая:
CODE (html):
скопировать код в буфер обмена
  1. <input type=hidden name=betuid value='1234567890'>


Нужны только цифры


Как вы поняли, они постоянно меняются, поэтому других вариантов я не вижу.
После этой строчки так же много кода. Помогите, очень надо!
(Добавление)
однако, я заметил, что эта строка всегда 210-я. как теперь извлечь ее?
2. Мелкий - 06 Мая, 2012 - 19:52:40 - перейти к сообщению
Регулярка. В простых случаях - это действительно просто. http://php.su/lessons/?lesson_17
3. improbable - 06 Мая, 2012 - 19:57:34 - перейти к сообщению
Мелкий

Почти ничего там не понял. Растерялся
Как извлечь из текста 210 строку?
4. Bio man - 06 Мая, 2012 - 22:05:19 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $rRes = fopen('filename', 'r');
  2. fseek($rRes, 15500)
  3. $sNeedle = fgets($rRes, 4096);
  4. preg_match('#<input type=hidden name=betuid value=\'([0-9]+)\'>#', $sNeedle, $matches);
  5. echo $matches[1]; // нужные циферки


PHP:
скопировать код в буфер обмена
  1. $sFile = file_get_contents('filename');
  2. preg_match('#<input type=hidden name=betuid value=\'([0-9]+)\'>#', $sNeedle, $matches, PREG_OFFSET_CAPTURE, 15500);
  3. echo $matches[1]; // нужные циферки
improbable пишет:
Как извлечь из текста 210 строку?
PHP:
скопировать код в буфер обмена
  1. $rgFile = file('filename');
  2. echo $rgFile[209]; // 210 строка

 

Powered by ExBB FM 1.0 RC1