чет у меня ничего не выходит прошу помощи... есть страница с таким содержимым: HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Icecast Streaming Media Server</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0"> <h2>Icecast2 Status</h2> <br><div class="roundcont"> <div class="roundtop"><img src="/corner_topleft.jpg" class="corner" style="display: none"></div> <table border="0" width="100%" id="table1" cellspacing="0" cellpadding="4"><tr><td bgcolor="#656565"> <a class="nav" href="admin/">Administration</a><a class="nav" href="status.xsl">Server Status</a><a class="nav" href="server_version.xsl">Version</a> </td></tr></table> <div class="roundbottom"><img src="/corner_bottomleft.jpg" class="corner" style="display: none"></div> </div> <br><br><div class="roundcont"> <div class="roundtop">img src="/corner_topleft.jpg" class="corner" style="display: none"></div> <div class="newscontent"> <div class="streamheader"><table cellspacing="0" cellpadding="0"> <colgroup align="left"></colgroup> <colgroup align="right" width="300"></colgroup> <tr> <td><h3>Mount Point /bot.mp3</h3></td> <td align="right"> <a href="/bot.mp3.m3u">M3U</a><a href="/bot.mp3.xspf">XSPF</a> </td> </tr> </table></div> <table border="0" cellpadding="4"> <tr> <td>Stream Title:</td> <td class="streamdata">RJ Bot</td> </tr> <tr> <td>Stream Description:</td> <td class="streamdata">OWBED!!1</td> </tr> <tr> <td>Content Type:</td> <td class="streamdata">audio/mpeg</td> </tr> <tr> <td>Mount started:</td> <td class="streamdata">Mon, 23 May 2011 12:54:32 +0200</td> </tr> <tr> <td>Current Listeners:</td> <td class="streamdata">15</td> </tr> <tr> <td>Peak Listeners:</td> <td class="streamdata">68</td> </tr> <tr> <td>Stream Genre:</td> <td class="streamdata">Various</td> </tr> <tr> <td>Stream URL:</td> <td class="streamdata"><a target="_blank" href="http://gxxxxm.rxxx">http://gxxxxxxm.rxxx</a></td> </tr> <tr> <td>Current Song:</td> <td class="streamdata">pesenka_-_nazvanie</td> </tr> </table> </div> <div class="roundbottom"><img src="/corner_bottomleft.jpg" class="corner" style="display: none"></div> </div> <br><br> </body> </html> не получается из : HTML: <td>Current Listeners:</td> <td class="streamdata">15</td> </tr> выдрать только текущих слушателей... я пробовал так PHP: #<td>Peak Listeners:<\/td><td class=\"streamdata\">(.*)<\/td><\/tr>#i
IGL, PHP: preg_match('#<td>Current Listeners:<\/td>.*?<td class=\"streamdata\">(\d+)<\/td>#is', $str, $match); print_r($match);
строка: нужно удалить все @VasilyKirillin. @VasilyKirillin - после @ может быть сколько угодно символов, букв, английских символов.
спасибо. PHP: $string=preg_replace("/[a-zA-Z]{1,30}/i","", $posts[$i][$x]['desc']); $string=preg_replace("/@/i","", $string); Как их объединиить в одну, чтобы она удаляла или символы английские или @ ?
domenz, добавив в шаблон логическое или - | #а|о# такой шаблон ищет "a", если не найдет, будет искать "о".
domenz что значит "или"? В посте #1511 и #1513 вы спрашиваете одно и то же, или это две разные мысли? Skofield в общем-то вы не правы
Помогите с регуляркой, необходимо отпарсить со страницы все значения, которые находятся в следующем виде: Code: <span class="like_count fl_l" id="like_count-12345678_[COLOR=Sienna][B]789[/B][/COLOR]">[COLOR=Green][B]6[/B][/COLOR]</span> где: 789 - динамические цифры (не нужные) 6 - значение, которое собственно и надо сграббить (не обязательно состоит из 1й цифры) Пробовал так PHP: $res = preg_match_all("id=\"like_count-12345678_\d\d\d\">(.*)</span>", $res); Ошибка: Code: preg_match_all() expects at least 3 parameters, 2 given in Пробовал добавить один параметр, но тогда пишет, мол он слишком длинный, как быть? Сразу извиняюсь за криворукость, с регулярками пока как-то тяжко..)
PHP: preg_match_all ('#<span.*?id="like_count-12345678_\d+">(\d+)</span>#', $str, $m); echo $m[1][0], "\n";
Тогда почему, если я потом вывожу $m, возвращается просто "Array" ? Попробовал даже конкретно в этой одной строке данной регуляркой отпарсить цифру 6
PROPH3T preg_match_all в третьем параметре возвращает двумерный массив значений, следовательно и обращаться следует по индексу: PHP: var_dump($m); // Или, например: echo $m[0][0];
Есть конструкция данных такого вида Code: [['','','','','','',["", "", "", "", "", 0, ""]],['','','','','','',["", "", "", "", "", 0, ""]]] Нужно выбрать последовательные секции, то бишь Code: ['','','','','','',["", "", "", "", "", 0, ""]] и т.д. (между кавычками любая инфа может быть) Затем из каждой выбранной секции (отдельным регулярным выражением) выбрать вложенную в нее, то есть Code: ["", "", "", "", "", 0, ""] Знаки '[' ']' в выборку входить не должны. Заранее спасибо за помощь!
У меня попроще, но после бессонной ночи голова уже совсем не думает) на входе строка вида: Code: ([32,42,153,106,9,168,28,68]) помогите вытащить только числа
Margin Смахивает на многомерный массив. Не легче будет обработать строку и преобразовать ее в массив? Ну смотря на каком языке работаешь.
otRock #\(\[(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\]\)# С учетом, если в строке, кроме ([32,42,153,106,9,168,28,68]) есть еще какие-либо данные
otRock PHP: $in = '([32,42,153,106,9,168,28,68])'; preg_match_all('~\d+~', $in, $out); var_dump($out); Margin как то очень похоже на JSON. Попробуйте так и работайте как с массивом: PHP: $z = <<<HTT [['','','','','','',["", "", "", "", "", 0, ""]],['','','','','','',["", "", "", "", "", 0, ""]]] HTT; $arr = json_decode(str_replace("'", '"', $z)) var_dump($arr);