Ниже приведен код, который я использую для анализа XML-файла, однако в файле много записей, и я хочу его разбивать на страницы и отображать 20 записей на странице. Я также хочу, чтобы ссылки на страницы находились внизу страницы, чтобы пользователи могли перейти на другие страницы. Это должно быть что-то вроде: если значение не указано, оно будет […]
Я постоянно сталкивался с проблемой разбора XML с PHP и не нашел «правильный путь» или, по крайней мере, стандартизованный способ анализа XML-файлов. Во-первых, я пытаюсь разобрать это: <item> <title>2884400</title> <description><![CDATA[ ><img width="126" alt="" src="http://img.ruphp.com/php/27319921.jpg" /> ]]></description> <link>http://www.last.fm/music/+noredirect/Beatles/+images/27319921</link> <author>anne710</author> <pubDate>Tue, 21 Apr 2009 16:12:31 +0000</pubDate> <guid>http://www.last.fm/music/+noredirect/Beatles/+images/27319921</guid> <media:content url="http://img.ruphp.com/php/Beatles+2884400.jpg" fileSize="13065" type="image/jpeg" expression="full" width="126" height="126" /> <media:thumbnail url="http://img.ruphp.com/php/27319921.jpg" […]
Почему php не поддерживает этот синтаксис: $s = explode('-', 'foo-bar')[0]; ?
Каков наилучший способ анализа XML-файла в PHP? Первый Использование объекта DOM //code $dom = new DOMDocument(); $dom->load("xml.xml"); $root = $dom->getElementsByTagName("tag"); foreach($root as $tag) { $subChild = $root->getElementsByTagName("child"); // extract values and loop again if needed } второй Использование метода simplexml_load // code $xml = simplexml_load_string("xml.xml"); $root = $xml->root; foreach($root as $tag) { $subChild = $tag->child; […]
Я не разбираю этот URL: http://foldmunka.net $ch = curl_init("http://foldmunka.net"); //curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //not necessary unless the file redirects (like the PHP example we're using here) $data = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); clearstatcache(); if ($data === false) { echo 'cURL failed'; exit; } $dom = new […]
Раньше я использовал XML Parser, и даже несмотря на то, что он работал нормально, я был недоволен этим в целом, мне показалось, что я использовал обходные пути для вещей, которые должны быть базовой функциональностью. Недавно я видел SimpleXML, но я еще не пробовал. Это проще? Какие преимущества и недостатки имеют оба? Какие-либо другие парсеры, которые […]
Я тестирую различные методы для чтения (возможно, большого, с очень часто читаемыми) файлов конфигурации XML в PHP. Никакой письменности никогда не требуется. У меня есть две успешные реализации, одна из которых использует SimpleXML (который я знаю – DOM-парсер), а другой – с помощью XMLReader . Я знаю, что читатель DOM должен читать все дерево и […]
У меня есть следующий файл XML, файл довольно большой, и я не смог заставить simplexml открывать и читать файл, поэтому я пытаюсь использовать XMLReader без успеха в php <?xml version="1.0" encoding="ISO-8859-1"?> <products> <last_updated>2009-11-30 13:52:40</last_updated> <product> <element_1>foo</element_1> <element_2>foo</element_2> <element_3>foo</element_3> <element_4>foo</element_4> </product> <product> <element_1>bar</element_1> <element_2>bar</element_2> <element_3>bar</element_3> <element_4>bar</element_4> </product> </products> Я, к сожалению, не нашел хорошего учебника по […]
Я ищу что-то, что может интерпретировать строку в php и выполнять простой математический расчет, а затем возвращать логический результат относительно того, является ли выражение истинным или ложным. Например: Сью типы в «3 * {mysalary} / 9 = 10000" PHP разбивает это на два выражения – explode ('=', string); PHP берет мой список полей базы данных […]
Я пытаюсь проанализировать идентификатор видео URL-адреса youtube с помощью preg_match. Я нашел регулярное выражение на этом сайте, которое, похоже, работает; (?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+ Как показано на этом рисунке: Мой PHP выглядит следующим образом, но он не работает (дает неизвестный модификатор '[' error) … <? $subject = "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1"; preg_match("(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+", $subject, $matches); print "<pre>"; print_r($matches); print "</pre>"; ?> ура