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
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Помогите с регулярным выражением на PHP

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

1. sherxan-g - 15 Января, 2022 - 22:12:06 - перейти к сообщению
Нужно написать регулярное выражение, которое бы находило цифры в тегах
цифры каждый раз бывает разный.
Вот мое скрипт
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     function getTitle($url) {
  4.         $data = file_get_contents($url);
  5.     $title1 = preg_match('/<br>(.*?)<span>Safe/ims', $data, $matches) ? $matches[1] : null;
  6.     return "$title1";
  7.     }
  8.  
  9. echo getTitle('http://v832167.hosted-by-vdsina.ru/test.php');
  10.    
  11. ?>
  12.  

Но скрипт копирует вес код
url для теста http://v832167[dot]hosted-by-vdsina[dot]ru/test.php
2. Vladimir Kheifets - 16 Января, 2022 - 07:56:37 - перейти к сообщению
sherxan-g пишет:
Нужно написать регулярное выражение, которое бы находило цифры в тегах
цифры каждый раз бывает разный.

Добрый день!
Можно сделать так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function getTitle($url) {
  3.     $data = file_get_contents($url);
  4.     preg_match_all('{<br>(.*?)\ <span>}', $data, $matches);
  5.     return $matches[1][1];
  6.  }
  7. echo "|",getTitle('http://v832167.hosted-by-vdsina.ru/test.php'),"|";
  8. /*
  9. |5.3.29|
  10. */
  11. ?>

А так найдём три числа разделённые точками:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function getTitle($url) {
  3.     $data = file_get_contents($url);
  4.     preg_match_all('/\d+\.\d+\.\d+/', $data, $matches);
  5.     return $matches[0][0];
  6.  }
  7. echo "|",getTitle('http://v832167.hosted-by-vdsina.ru/test.php'),"|";
  8. /*
  9. |5.3.29|
  10. */
  11. ?>
Удачи!
3. sherxan-g - 17 Января, 2022 - 16:45:36 - перейти к сообщению
Vladimir Kheifets пишет:
sherxan-g пишет:
Нужно написать регулярное выражение, которое бы находило цифры в тегах
цифры каждый раз бывает разный.

Добрый день!
Можно сделать так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function getTitle($url) {
  3.     $data = file_get_contents($url);
  4.     preg_match_all('{<br>(.*?)\ <span>}', $data, $matches);
  5.     return $matches[1][1];
  6.  }
  7. echo "|",getTitle('http://v832167.hosted-by-vdsina.ru/test.php'),"|";
  8. /*
  9. |5.3.29|
  10. */
  11. ?>

А так найдём три числа разделённые точками:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function getTitle($url) {
  3.     $data = file_get_contents($url);
  4.     preg_match_all('/\d+\.\d+\.\d+/', $data, $matches);
  5.     return $matches[0][0];
  6.  }
  7. echo "|",getTitle('http://v832167.hosted-by-vdsina.ru/test.php'),"|";
  8. /*
  9. |5.3.29|
  10. */
  11. ?>
Удачи!

большое спасибо

 

Powered by ExBB FM 1.0 RC1