Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Помогите с регуляркой (https://forum.antichat.xyz/showthread.php?t=210141)

jenaDI 08.06.2010 21:46

Помогите с регуляркой
 
Допустим имеем страницу с ссылками
<a href="details.php?id=1&hit=1">name</a>
<a href="details.php?id=1&hit=1">name</a>
<a href="details.php?id=1&hit=1">name</a>
<a href="details.php?id=1&hit=1">name</a>

$details = 'details.php?id=[id]&hit=1';
//Формируем массив с номерами торрентов
$details_r = $details;
$details_r = str_replace('?' , '\?' , $details_r); //Экранируем специальные символы
$details_r = str_replace('.' , '\.' , $details_r); //Экранируем специальные символы
$details_r = str_replace('&' , '\&' , $details_r); //Экранируем специальные символы
$details_r = str_replace('[id]' , '(\d+)' , $details_r); //Меняем id
// die('/"'.$details_r.'"\>(.*)\</i');
preg_match_all('/"'.$details_r.'"\>(.*)/i', $getBrowseFull, $setTorrentId);



почему регулярка не ищет?

wildshaman 08.06.2010 22:03

Потому что ты наркоман
Я даже не понял, что ты отпарсить пытаешься

krypt3r 08.06.2010 22:14

PHP код:

<?php
  $str 
= <<< EOL
  <a href="details.php?id=111&hit=1">name 1</a>
  <a href="details.php?id=222&hit=1">name 2</a>
  <a href="details.php?id=333&hit=1">name 3</a>
  <a href="details.php?id=444&hit=1">name 4</a>
EOL;

  
$details 'details.php?id=[id]&hit=1';
  
$details_r str_replace(array ('?''.''[id]') , 
    array (
'\?''\.''(\d+)') , $details);
  
preg_match_all ('/"' $details_r '">(.*?)</i'$str$m);
  
print_r ($m);
?>

Повнимательней с кодом. Лишние символы нет смысла "экранировать"

eLWAux 08.06.2010 22:53

/details.php.id.1.hit=1.>(.+?)</i


Время: 13:30