<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sat, 25 May 2013 15:25:37 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Philip Norton's Blog: Creating A Thumbnail Of A Word Document With PHP And LiveDocx]]></title>
      <guid>http://www.phpdeveloper.org/news/16904</guid>
      <link>http://www.phpdeveloper.org/news/16904</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Philip Norton</i> shares a method for <a href="http://www.hashbangcode.com/blog/creating-thumbnail-word-document-php-and-livedocx-598.html">creating a thumbnail of a Word document</a> with the help of PHP and <a href="http://framework.zend.com/manual/en/zend.service.livedocx.html">LiveDocx</a> (in this case, the component inside the Zend Framework).
</p>
<blockquote>
Creating Word document icons is very simple thanks to a service called LiveDocx. LiveDocx was created as a web service to allow the easy creation of most document formats from a simple template. However, it is possible to send a normal Word document as the template file and get an image of the file in return.
</blockquote>
<p>
You'll need a <a href="https://www.livedocx.com/user/account_registration.aspx">LiveDocx account</a> to be able to use the service - there's a <a href="http://www.livedocx.com/pub/pricing.aspx">free</a> option of their service that uses a shared server. Included in the post is a sample script that defines a LiveDocx connection, pulls in a local Word document for parsing and calls a "getBitmaps" method on the service to return the raw image data. This is pushed into an image (using <a href="http://php.net/gd">GD</a>) as a PNG.
</p>]]></description>
      <pubDate>Mon, 26 Sep 2011 08:50:42 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[php|architect: PHPDOCX: generating Word documents from PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/14835</guid>
      <link>http://www.phpdeveloper.org/news/14835</link>
      <description><![CDATA[<p>
On the php|architect blog today there's <a href="http://www.phparch.com/2010/07/21/phpdocx-generating-word-documents-from-php">a new post</a> about a tool that helps you create Word documents directly from your PHP application - <a href="http://www.phpdocx.com">PHPDOCX</a>.
</p>
<blockquote>
PHPDOCX is a PHP library that allows its client code to generate Microsoft Word documents in the .docx format from PHP scripts. PHP is increasingly being used for disparate goals and has to deal with data that comes from strange sources and has to be produced in stranger formats. [...] Starting with the 1.5 version, which has been released on July 12th, PHPDOCX is now compatible with PHP 5.3. The adoption of PHP 5.3 from operating systems is growing and it will at last replace the previous versions of PHP also in the servers of hosting providers.
</blockquote>
<p>
He mentions some of the features it includes (like the library and automatic insertion of things like headers and footers) as well as two requirements for the tool to work - the <a href="http://php.net/manual/en/book.zip.php">zip</a> and <a href="http://php.net/manual/en/book.xsl.php">xsl</a> extensions.
</p>]]></description>
      <pubDate>Thu, 22 Jul 2010 10:23:18 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Thomas Weinert's Blog: Highlight Words In HTML]]></title>
      <guid>http://www.phpdeveloper.org/news/14486</guid>
      <link>http://www.phpdeveloper.org/news/14486</link>
      <description><![CDATA[<p>
In the latest post to his blog <i>Thomas Weinert</i> takes a look at a simple challenge someone asked him about - highlighting a section of HTML based on a search string - and <a href="http://www.a-basketful-of-papayas.net/2010/05/highlight-words-in-html.html">his solution</a>.
</p>
<blockquote>
The challenge is to wrap given words in text content with a span and add a class to the span depending on the word. Do not touch elements, attributes, comments or processing instructions. Do it case insensitive and do it the safe way.
</blockquote>
<p>
He uses the <a href="svn://svn.fluentdom.org">FluentDOM</a> tool to get the job done. It allows him to create an XPath expression to single out the item to be highlighted (in this case a single or series of words) and wrap them in a matching span tag with the correct styles attached.
</p>]]></description>
      <pubDate>Mon, 10 May 2010 10:34:24 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sameer Borate's Blog: Porter Stemming algorithm for search]]></title>
      <guid>http://www.phpdeveloper.org/news/12423</guid>
      <link>http://www.phpdeveloper.org/news/12423</link>
      <description><![CDATA[<p>
In a recent post to his blog <i>Sameer</i> looks at <a href="http://www.codediesel.com/php/porter-stemming-in-search/">implementing a Stemming algorithm</a> to search an array of words. It uses <a href="http://tartarus.org/~martin/PorterStemmer/php.txt">this library</a> (as written by <i>Richard Heyes</i>).
</p>
<blockquote>
A stemming algorithm lets you reduce each English input word to its basic root or stem (e.g. 'walking' to 'walk') so that variations on a word ('walks', 'walked', 'walking') are considered equivalent when searching. This stems can than be used in a search query rather than the original words, which generally (but not always) results in more relevant search results.
</blockquote>
<p>
His code example uses the library to search for two different types of strings - a single word and a phrase (with stop words removed). The Stem() method is called on the word and the results are looped through to remove all matching the values in the stop words array.
</p>]]></description>
      <pubDate>Wed, 29 Apr 2009 07:57:06 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Developer Tutorials Blog: Extracting text from Word Documents via PHP and COM]]></title>
      <guid>http://www.phpdeveloper.org/news/9861</guid>
      <link>http://www.phpdeveloper.org/news/9861</link>
      <description><![CDATA[<p>
In a <a href="http://www.developertutorials.com/blog/php/extracting-text-from-word-documents-via-php-and-com-81/">recent blog post</a> <i>Akash Mehta</i> showed how to reach into a Microsoft document (a Word file) and pull out the content inside via a PHP script.
</p>
<blockquote>
Communicating via COM in PHP is easy as ever; especially for people coming from a VB background where executing complex tasks in MS-applications is a piece of cake, you will feel right at home in PHP. In fact, VB COM calls can be converted to PHP COM calls in just a few simple search and replaces.
</blockquote>
<p>
He shows how to use the COM extension in a (Windows) PHP installation to access the text inside the document and manipulate the contents however you'd like (even writing them back out to another Word file).
</p>]]></description>
      <pubDate>Wed, 26 Mar 2008 12:02:06 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Maarten Balliauw's Blog: Indexing Word 2007 (docx) files with Zend_Search_Lucene]]></title>
      <guid>http://www.phpdeveloper.org/news/9569</guid>
      <link>http://www.phpdeveloper.org/news/9569</link>
      <description><![CDATA[<p>
<i>Maarten Balliauw</i> has <a href="http://blog.maartenballiauw.be/post/2008/02/Indexing-Word-2007-(docx)-files-with-Zend_Search_Lucene.aspx">written about</a> a method he's developed to convince the Zend_Search_Lucene component of the <a href="http://framework.zend.com">Zend Framework</a> to index the contents of a Word 2007 document.
</p>
<blockquote>
Lucene basically is an indexing and search technology, providing an easy-to-use API to create any type of application that has to do with indexing and searching. If you provide the right methods to extract data from any type of document, Lucene can index it. [...] Sounds like a challenge!
</blockquote>
<p>
He works through the three step process to getting the searching working, the key being his readDocXContents() function that goes through the Word file and returns all the text it can find. This is passed back out so the Zend Framework component can pull the data in and search (their example is on the string "Code Access Security").
</p>
<p>
You can grab the <a href="http://examples.maartenballiauw.be/LuceneIndexingDOCX/LuceneIndexingDOCX.zip">the full code here</a>.
</p>]]></description>
      <pubDate>Tue, 05 Feb 2008 10:24:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Maarten Balliauw's Blog: OpenXML in Healthcare in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/8927</guid>
      <link>http://www.phpdeveloper.org/news/8927</link>
      <description><![CDATA[<p>
<i>Maarten Balliauw</i> points out a <a href="http://blog.maartenballiauw.be/post/2007/10/OpenXML-in-Healthcare-in-PHP.aspx">new blog post</a> he's made today showing how to take the methods described in <a href="http://msdn2.microsoft.com/en-us/library/bb879915.aspx">this article</a> on the MSDN and convert it to a more PHP way of thinking, parsing the OpenXML info of the patients.
</p>
<blockquote>
<p>
The scenario for the article is quite simple: Contoso provides a central medical records database. Whenever a physician has to register a new patient, he downloads a Word 2007 document from the Contoso server, fills it out, and uploads it back. Contoso then strips out the necessary data and saves it back in their systems.
</p>
<p>
This Word 2007 document is crafted around embedded custom XML data, which is displayed and edited using Word 2007. In short: to do the above exercise, you just need to strip out the custom XML and you're done.
</p>
</blockquote>
<p>
Don't worry, <i>Maarten</i> includes <a href="http://examples.maartenballiauw.be/2007HealthCareSamplePHP/2007HealthCareSamplePHP.zip">his code</a> and a <a href="http://examples.maartenballiauw.be/2007HealthCareSamplePHP/index.php">demo</a> to show the functionality in action. Check out <a href="http://msdn2.microsoft.com/en-us/library/bb879915.aspx">the original article</a> for more information as well.
</p>]]></description>
      <pubDate>Mon, 29 Oct 2007 15:29:36 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[JSLabs Blog:  How to create Microsoft Office Documents with PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/8163</guid>
      <link>http://www.phpdeveloper.org/news/8163</link>
      <description><![CDATA[<p>
From the JSLabs blog today, there's a <a href="http://www.whenpenguinsattack.com/2007/07/02/how-to-create-microsoft-office-documents-with-php/">quick illustration</a> of how to dynamically create three different types of Microsoft Office files - a Word document, Powerpoint and an Excel file.
</p>
<blockquote>
There are two main ways to build Excel, Word, and PowerPoint documents using PHP. The first is by using the COM library (only if you are using a Windows server) and the other is by using a more standardized approach such as HTML or CSV.
</blockquote>
<p>
All <a href="http://www.whenpenguinsattack.com/2007/07/02/how-to-create-microsoft-office-documents-with-php/">three examples</a> use the COM method and make basic structures to save out. They also include a screenshot (and description) showing where you can find the list of functions you can call to the COM object for each application.
</p>]]></description>
      <pubDate>Mon, 02 Jul 2007 12:02:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Hasin Hayder's Blog: Counting occurrence of a word in a String - Benchmarking of PHP functions]]></title>
      <guid>http://www.phpdeveloper.org/news/7732</guid>
      <link>http://www.phpdeveloper.org/news/7732</link>
      <description><![CDATA[<p>
In an effort to add to the ever-growing list of "keeping it simple" benchmarks out there, <i>Hasin Hayder</i> presents <a href="http://hasin.wordpress.com/2007/04/30/counting-occurrence-of-a-word-in-a-string-benchmarking-of-php-functions/">his own results</a> for the task of fining the number of times a word occurs in a given string.
</p> 
<blockquote>
Today I was just thinking what are the possible ways to count the occurrence of a specific word inside a string. I found some possible ways finally and I just benchmarked them. Wanna see the result?? - for sure you will find it interesting too.
</blockquote>
<p>
Methods range from a simple split() and count() call out to using the regular expression functions to locate the matches. After running it four times (to check for accuracy), he the stats were pretty much the same. It looks like the substr+count method was the fastest overall with last place falling to the array function method.
</p>]]></description>
      <pubDate>Mon, 30 Apr 2007 10:42:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPClasses.org: Where are the PHP women?]]></title>
      <guid>http://www.phpdeveloper.org/news/6590</guid>
      <link>http://www.phpdeveloper.org/news/6590</link>
      <description><![CDATA[<p>
It seems the "PHP Women" group is getting support from all over, including from <a href="http://www.phpclasses.org/blog/post/59-Where-are-the-PHP-women.html">this post</a> on the PHPClasses.org site.
</p>
<blockquote>
<p>
This post lets you know about a new initiative to bring together the women that work with PHP throughout the world.
</p>
<p>
It explains how spreading the word is vital for the success of communities of specific interests. The article also tells what you can do to help.
</p>
</blockquote>
<p>
<i>Manuel Lemos</i> <a href="http://www.phpclasses.org/blog/post/59-Where-are-the-PHP-women.html">talks about the group</a>, the formation of it, and who it tries to appeal to. He also gives a suggestion or two of how to help the group really get started (spread the word). There's also <a href="http://www.phpclasses.org/blog/post/36-PHP-User-Groups-diffusion-initiative.html">a link</a> to the user group information on the PHPClasses.org site, as well as <a href="http://www.phpwomen.org/wordpress/delegations/">a link to</a> the "Delegations" section of the official PHP Women site.
</p>]]></description>
      <pubDate>Fri, 27 Oct 2006 07:58:00 -0500</pubDate>
    </item>
  </channel>
</rss>
