{"id":21,"date":"2009-09-01T16:24:47","date_gmt":"2009-09-01T15:24:47","guid":{"rendered":"https:\/\/wade.one\/blog\/?p=21"},"modified":"2015-02-12T12:14:01","modified_gmt":"2015-02-12T12:14:01","slug":"php-fundamentals","status":"publish","type":"post","link":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/","title":{"rendered":"PHP FUNdamentals"},"content":{"rendered":"<p>The title isn&#8217;t really correct as, well, they&#8217;re not fundamentals&#8230;however they&#8217;re not fun so that was my best effort to get sarcasm into the title.<\/p>\n<p>I love programming in PHP, and I must admit, I do enjoy finding solutions to problems that most people would probably tear their hair out over; but from time-to-time, PHP throws me a curve ball covered in shards of glass with a label attached that says &#8220;from PHP with love.&#8221;<\/p>\n<p>I&#8217;ve been working on some new classes and functions at work to make our web applications work faster and better and part of that involves parsing HTML to extra information.\u00a0 You&#8217;d think in PHP overall this is a relatively easy task, as always you&#8217;ve got several ways to accomplish the same task. The method we use for this is <a href=\"http:\/\/uk.php.net\/domdocument\" target=\"_blank\">DOMDocument<\/a> as it allows you to use XPath to query for the stuff you want. The problem I had was to do with language; even though I was running all incoming text through <a href=\"http:\/\/uk.php.net\/iconv\" target=\"_blank\">iconv<\/a> to ensure it was UTF-8, DOMDocument often turned the text into complete garbage &#8211; it was ignoring my declaration that it is UTF-8 text and trying to autodetect it, resulting in nonsense.<\/p>\n<p>After severak hours of trying to work out why DOMDocument was about as obedient as a 16 year old emo suffering from ADHD, I found a solution &#8211; and the best bit of all is the fact it is painfully simple but not at all obvious (like all PHP bugs that drag on.)<\/p>\n<p>If you ever want to pass a valid xHTML document into DOMDocument and you&#8217;re sure of the encoding, add an XML declaration to the very top of the HTML if there isn&#8217;t one. So if you&#8217;re document begins:<\/p>\n<blockquote><p>&lt;html&gt;&lt;head&gt;&lt;title&gt;&#8230;.<\/p><\/blockquote>\n<p>Change it to this:<\/p>\n<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;&lt;html&gt;head&gt;&lt;title&gt;<\/p><\/blockquote>\n<p>Then ask no questions, smile and make the dev team a coffee \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The title isn&#8217;t really correct as, well, they&#8217;re not fundamentals&#8230;however they&#8217;re not fun so that was my best effort to get sarcasm into the title. I love programming in PHP, and I must admit, I do enjoy finding solutions to problems that most people would probably tear their hair out over; but from time-to-time, PHP &#8230; <a href=\"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/\" class=\"more-link\">Read More<span class=\"screen-reader-text\"> &#8220;PHP FUNdamentals&#8221;<\/span> &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":796,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13],"tags":[],"class_list":["post-21","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PHP FUNdamentals - wade.one<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP FUNdamentals - wade.one\" \/>\n<meta property=\"og:description\" content=\"The title isn&#8217;t really correct as, well, they&#8217;re not fundamentals&#8230;however they&#8217;re not fun so that was my best effort to get sarcasm into the title. I love programming in PHP, and I must admit, I do enjoy finding solutions to problems that most people would probably tear their hair out over; but from time-to-time, PHP ... Read More &quot;PHP FUNdamentals&quot; &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:published_time\" content=\"2009-09-01T15:24:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-02-12T12:14:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2009\/09\/php.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"90\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Wade\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wade\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/\"},\"author\":{\"name\":\"Wade\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/f9dedd948575256e77a44aa1417f63de\"},\"headline\":\"PHP FUNdamentals\",\"datePublished\":\"2009-09-01T15:24:47+00:00\",\"dateModified\":\"2015-02-12T12:14:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/\"},\"wordCount\":341,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"image\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/php.jpg\",\"articleSection\":[\"Programming\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/\",\"name\":\"PHP FUNdamentals - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/php.jpg\",\"datePublished\":\"2009-09-01T15:24:47+00:00\",\"dateModified\":\"2015-02-12T12:14:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/php.jpg\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/php.jpg\",\"width\":300,\"height\":90},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2009\\\/09\\\/01\\\/php-fundamentals\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP FUNdamentals\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/f9dedd948575256e77a44aa1417f63de\",\"name\":\"Wade\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"caption\":\"Wade\"},\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/author\\\/wade\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP FUNdamentals - wade.one","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/","og_locale":"en_GB","og_type":"article","og_title":"PHP FUNdamentals - wade.one","og_description":"The title isn&#8217;t really correct as, well, they&#8217;re not fundamentals&#8230;however they&#8217;re not fun so that was my best effort to get sarcasm into the title. I love programming in PHP, and I must admit, I do enjoy finding solutions to problems that most people would probably tear their hair out over; but from time-to-time, PHP ... Read More \"PHP FUNdamentals\" &raquo;","og_url":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/","og_site_name":"wade.one","article_published_time":"2009-09-01T15:24:47+00:00","article_modified_time":"2015-02-12T12:14:01+00:00","og_image":[{"width":300,"height":90,"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2009\/09\/php.jpg","type":"image\/jpeg"}],"author":"Wade","twitter_card":"summary_large_image","twitter_creator":"@wadewomersley","twitter_site":"@wadewomersley","twitter_misc":{"Written by":"Wade","Estimated reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/#article","isPartOf":{"@id":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/"},"author":{"name":"Wade","@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/f9dedd948575256e77a44aa1417f63de"},"headline":"PHP FUNdamentals","datePublished":"2009-09-01T15:24:47+00:00","dateModified":"2015-02-12T12:14:01+00:00","mainEntityOfPage":{"@id":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/"},"wordCount":341,"commentCount":0,"publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"image":{"@id":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/#primaryimage"},"thumbnailUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2009\/09\/php.jpg","articleSection":["Programming"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/","url":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/","name":"PHP FUNdamentals - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/#primaryimage"},"image":{"@id":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/#primaryimage"},"thumbnailUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2009\/09\/php.jpg","datePublished":"2009-09-01T15:24:47+00:00","dateModified":"2015-02-12T12:14:01+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/#primaryimage","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2009\/09\/php.jpg","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2009\/09\/php.jpg","width":300,"height":90},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":"PHP FUNdamentals"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}},{"@type":"Person","@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/f9dedd948575256e77a44aa1417f63de","name":"Wade","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","caption":"Wade"},"url":"https:\/\/wade.one\/blog\/author\/wade\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2009\/09\/php.jpg","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1109,"url":"https:\/\/wade.one\/blog\/2023\/03\/26\/php-8-2-vs-7-4\/","url_meta":{"origin":21,"position":0},"title":"PHP 8.2 vs 7.4","author":"Wade","date":"March 26, 2023","format":false,"excerpt":"PHP is a widely used programming language that has been evolving rapidly in recent years. PHP 8.2 is the latest release, which came out on November 25th, 2021. This version brings several improvements, new features, and bug fixes, making it more efficient and secure than PHP 7.4. In this blog\u2026","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1106,"url":"https:\/\/wade.one\/blog\/2023\/03\/26\/google-bard-php-developer-viewpoint\/","url_meta":{"origin":21,"position":1},"title":"Google Bard &#8211; PHP developer viewpoint","author":"Wade","date":"March 26, 2023","format":false,"excerpt":"So I asked Bard to give me a reason to help me as as PHP developer then digged in to each point. Here's the answers and when I tried: Bard can help a PHP developer in a number of ways, including (wht: Code generation:\u00a0Bard can generate code in a variety\u2026","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1120,"url":"https:\/\/wade.one\/blog\/2023\/03\/28\/php-in-2023-why-its-still-relevant-and-a-smart-hiring-decision\/","url_meta":{"origin":21,"position":2},"title":"PHP in 2023: Why It&#8217;s Still Relevant and a Smart Hiring Decision","author":"Wade","date":"March 28, 2023","format":false,"excerpt":"There are few languages that have stood the test of time like PHP. First introduced in 1994, PHP has been powering websites for nearly three decades. While many new and powerful languages have emerged since then, PHP remains an essential tool in the web developer's arsenal. In this blog post,\u2026","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1152,"url":"https:\/\/wade.one\/blog\/2026\/03\/25\/php-8-5-4-released-upgrade-if-you-re-on-8-5\/","url_meta":{"origin":21,"position":3},"title":"PHP 8.5.4 Released: Upgrade if You&#8217;re on 8.5","author":"Wade","date":"March 25, 2026","format":false,"excerpt":"PHP 8.5.4 is a bug-fix release, not a feature release. If you are already on PHP 8.5, you should update. If you are still on 8.4, this alone is not the reason to jump.","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":204,"url":"https:\/\/wade.one\/blog\/2009\/10\/10\/phpnw09-php-north-west-09-conference\/","url_meta":{"origin":21,"position":4},"title":"PHPNW09 &#8211; PHP North-West 09 Conference","author":"Wade","date":"October 10, 2009","format":false,"excerpt":"Just started in the 3rd talk today by a guy called Rowan Merewood (twitter link). I had no idea he worked at Plus.net - for those of you who don't know me, just take a look on Google for wade womersley plus.net. Unfortunately\u00a0 that means I'm biased to this talk\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":581,"url":"https:\/\/wade.one\/blog\/2012\/03\/11\/php-5-4-unofficial-ubuntu-apt-get-available\/","url_meta":{"origin":21,"position":5},"title":"PHP 5.4 Unofficial Ubuntu apt-get available","author":"Wade","date":"March 11, 2012","format":false,"excerpt":"Ond\u0159ej Sur\u00fd has released apt-get'table packages for PHP 5.4 on Ubuntu.\u00a0 Instructions and installation are available from https:\/\/launchpad.net\/~ondrej\/+archive\/php5 . Think I'll keep custom building for now so I get total control but for the majority of people this is better than waiting until potentially October for it to hit the\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=21"}],"version-history":[{"count":1,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/21\/revisions"}],"predecessor-version":[{"id":804,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/21\/revisions\/804"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media\/796"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/categories?post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/tags?post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}