2012-06-18 3 views
0

Можно создать дубликат:
How do you parse and process HTML/XML in PHP?содержания чтения в HTML сОн тега PHP

В настоящее время у меня есть фрагмент кода, который выглядит следующим образом:

echo '<div id="content">'; 
    echo '<b>Results:<br></b>'; 
    echo '<div style="margin-right: 230px; margin-top: -20px;"><center><a href="http://clubpenguincheatsnow.com/tools/itemdatabase/"><b>Back</b></a><center></div>'; 
    $string = explode('<br>', $string); 
    foreach ($string as $row) { 
     preg_match('/^(.+)\s=\s(\d+)\s=\s(\D+)\s=\s(\d+)/', trim($row), $matches); 
     if (preg_match("/$query/i", "$matches[1]")) { 
      echo "<a href='http://clubpenguincheatsnow.com/tools/itemdatabase/info.php?id=$matches[2]'>"; 
      echo $matches[1]; 
      echo "</a><br>"; 
     } 
    } 
    echo '</div>'; 

Как вам может видеть, что у меня есть теги div вверху и внизу echo '<div id="content">';echo '</div>';. То, что я хочу сделать, это мой PHP-код для сканирования вывода, который находится между двумя тегами, и если текст <b>Results:<br></b><div style="margin-right: 230px; margin-top: -20px;"><center><a href="http://clubpenguincheatsnow.com/tools/itemdatabase/"><b>Back</b></a><center></div> находится между тегами, которые я хочу, чтобы мой код выводил «Test». Любая помощь, связанная с моей проблемой, будет очень полезна!

+2

Используйте парсер DOM для обработки HTML, а не регулярного выражения! – Brad

+0

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – Crontab

ответ

-1

Если вам удобно с Regex, вы можете использовать его, когда страница остается довольно статической. This сайт может помочь вам создать регулярные запросы. В противном случае попробуйте использовать Simple HTML DOM, где это возможно, как указано выше. У вас будет меньше шансов получить ошибки.

Смежные вопросы