<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cristian Sannino</title>
	<atom:link href="http://www.cristiansannino.it/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cristiansannino.it</link>
	<description></description>
	<lastBuildDate>Thu, 02 Feb 2012 23:02:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Iniziare con Codeigniter, capire la logica di base (Pratico)</title>
		<link>http://www.cristiansannino.it/iniziare-con-codeigniter-capire-la-logica-di-base-pratico.html</link>
		<comments>http://www.cristiansannino.it/iniziare-con-codeigniter-capire-la-logica-di-base-pratico.html#comments</comments>
		<pubDate>Sat, 28 Jan 2012 18:07:03 +0000</pubDate>
		<dc:creator>Cristian Sannino</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.cristiansannino.it/?p=1071</guid>
		<description><![CDATA[Codeigniter è un buon framework PHP, molto potente per le sue tante librerie e la semplicità di implementazione che è veramente da tutti ! Ma iniziamo subito con lo scaricare Codeigniter da qui e scompattiamo tutto il suo contenuto all&#8217;interno di una cartella chiamandola codeigniter o insomma come meglio credete e copiateci dentro le cartelle [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.cristiansannino.it/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/1071.gif&amp;w=200&amp;h=0&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p align="center"><a rel="nofollow" href="http://www.cristiansannino.it/iniziare-con-codeigniter-capire-la-logica-di-base-pratico.html/codeigniter-tutorial" rel="attachment wp-att-1074"><img src="http://www.cristiansannino.it/wp-content/uploads/codeigniter-tutorial.gif" alt="" title="codeigniter-tutorial" alt="Iniziare con Codeigniter" width="300" height="301" class="alignnone size-full wp-image-1074" /></a></p>
<p><em><a href="http://www.cristiansannino.it/tag/codeigniter" class="st_tag internal_tag" rel="tag" title="Post taggati con Codeigniter">Codeigniter</a></em> è un buon framework <a href="http://www.cristiansannino.it/tag/php" class="st_tag internal_tag" rel="tag" title="Post taggati con php">PHP</a>, molto potente per le sue tante librerie e la semplicità di implementazione che è veramente da tutti !<br />
Ma iniziamo subito con lo scaricare <strong>Codeigniter</strong> da <a rel="nofollow" rel="nofollow" href="http://codeigniter.com/downloads/">qui</a> e scompattiamo tutto il suo contenuto all&#8217;interno di una cartella chiamandola <u>codeigniter</u> o insomma come meglio credete e copiateci dentro le cartelle system,application ed il file index.php.<br />
Una volta fatto ciò copiatelo nel vosto Web Server nel mio caso uso MAMP e quindi copio tutto nella cartella htdocs, io do per scontato che sappiate cosa è un web server e come funziona, nel caso così non fosse basta commentare ed io vi scrivo un&#8217;articolo per questo anche se è molto semplice da capire&#8230;</p>
<p>Dopo aver seguito questi passaggi saremo pronti per la configurazione di base :</p>
<p>Aprite il file routes.php (application > config > routes.php) e notate questa riga :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$route</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default_controller'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;welcome&quot;</span><span style="color: #339933;">;</span>
modificatela in <span style="color: #000088;">$route</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default_controller'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;primoprogramma&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Questo significa che il sistema dovrà caricare di Default il controller primoprogramma, adesso andate nella cartella controller e create un nuovo file chiamandolo proprio primoprogramma.php ed al suo interno scrivete il seguente codice :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span> <span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'BASEPATH'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'No direct script access allowed'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">class</span> Primoprogramma <span style="color: #000000; font-weight: bold;">extends</span> CI_Controller <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
          <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Hello World'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Adesso se avete seguito tutti i passaggi dovete digitare<br />
http://localhost/codeigniter/index.php/primoprogramma e noterete la scritta &#8220;Hello World&#8221; in pratica abbiamo fatto un controller che di default con la funzione index() stampa a video la scritta &#8220;Hello World&#8221;.<br />
Adesso creiamo una nuova funzione nel controller che non farà altro che stampare gli argomenti che gli passeremo.</p>
<p>Scrivete in coda alla funzione index una seconda funzione chiamatela ciccio quindi :
</p>
</pre>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> ciccio<span style="color: #009900;">&#40;</span><span style="color: #000088;">$argomento</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$argomento</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>a questo punto avremmo il controller cosi :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span> <span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'BASEPATH'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'No direct script access allowed'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Primoprogramma <span style="color: #000000; font-weight: bold;">extends</span> CI_Controller <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Hello World'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> ciccio<span style="color: #009900;">&#40;</span><span style="color: #000088;">$argomento</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 		<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$argomento</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Quindi non abbiamo fatto altro che dire alla funzione ciccio del controller primoprogramma che dovrà stampare il valore passatogli<br />
adesso scriviamo nella barra degli indirizzi questo http://localhost/codeigniter/index.php/primoprogramma/ciccio/argomentodapassare</p>
<p>Quindi richiamiamo il controller primo programma, richiamando la funzione ciccio e passando come argomento argomentodapassare, a questo punto noterete stampato a video il testo argomentodapassare e quindi abbiamo passato un argomento da url.</p>
<p>Adesso per capirci meglio Codeigniter o qualunque altro framework MVC funziona in questo modo :<br />
link da analizzare : http://localhost/codeigniter/index.php/primoprogramma/ciccio/argomentodapassare<br />
questa parte del link http://localhost/codeigniter/index.php è di base, questo pezzo invece primoprogramma/ciccio/argomentodapassare sta a significare che abbiamo un controller di nome primoprogramma con una funzione ciccio che riceve come argomento argomentodapassare che poi ne potremmo passare tutti quelli che vogliamo basti pensare qualcosa del tipo www.nomesito.it/auto/dettagli/13<br />
quindi avremmo un controller di nome auto con funzione dettagli che prende come parametro o argomento l'id dell'auto e ne mostra i dettagli...</p>
<p>Da dire anche che se all'url passiamo il nome della funzione e quindi nomecontroller/nomefunzione prende del controller la funzione nomefunzione mentre se scriviamo solo nomecontroller prenderà sempre di default la funzione index() che è quella standard in codeigniter, che però possiamo anche non avere, ma meglio tenere sempre tutto sotto controllo in caso di nessun parametro :)</p>
<p>a questo punto giocateci un pò e prendete confidenza, scriverò un altro articolo sul model e sulle view che sono altri 2 argomenti su cui dovrò dare maggiori dettagli.</p>
<p>Cosa ti piacerebbe approfondire su <strong>Codeigniter</strong>?</p>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.cristiansannino.it/iniziare-con-codeigniter-capire-la-logica-di-base-pratico.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tag Facebook Style con jQuery e PHP</title>
		<link>http://www.cristiansannino.it/tag-facebook-style-con-jquery-e-php.html</link>
		<comments>http://www.cristiansannino.it/tag-facebook-style-con-jquery-e-php.html#comments</comments>
		<pubDate>Sat, 28 Jan 2012 16:32:31 +0000</pubDate>
		<dc:creator>Cristian Sannino</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[jquery tags]]></category>
		<category><![CDATA[tags facebook style]]></category>

		<guid isPermaLink="false">http://www.cristiansannino.it/?p=1052</guid>
		<description><![CDATA[Creare un sistema di Tagging in stile Facebook non è mai stato così semplice con un semplicissimo plugin jQuery, jQuery Tags Input che con pochissime righe di codice integrate ad ui autocomplete vi permetterà di avere un sistema di autocompletamento nell&#8217;inserimento dei plugin. Ma passiamo subito al codice. Per prima cosa includere nell&#8217;header i seguenti [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.cristiansannino.it/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/1052.png&amp;w=200&amp;h=0&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p align="center"><a rel="nofollow" href="http://www.cristiansannino.it/tag-facebook-style-con-jquery-e-php.html/jquerytagsscreen" rel="attachment wp-att-1066"><img src="http://www.cristiansannino.it/wp-content/uploads/jQueryTagsScreen.png" alt="" title="jQueryTagsScreen" width="600" height="160" class="alignnone size-full wp-image-1066" /></a></p>
<p>Creare un sistema di Tagging in stile <a href="http://www.cristiansannino.it/tag/facebook" class="st_tag internal_tag" rel="tag" title="Post taggati con facebook">Facebook</a> non è mai stato così semplice con un semplicissimo plugin jQuery, <a rel="nofollow" href="http://xoxco.com/projects/code/tagsinput/">jQuery Tags Input</a> che con pochissime righe di codice integrate ad ui autocomplete vi permetterà di avere un sistema di autocompletamento nell&#8217;inserimento dei plugin. Ma passiamo subito al codice.</p>
<p>Per prima cosa includere nell&#8217;header i seguenti script che in questo caso sono hostati sui rispettivi server :</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://xoxco.com/projects/code/tagsinput/jquery.tagsinput.css&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://xoxco.com/projects/code/tagsinput/jquery.tagsinput.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/start/jquery-ui.css&quot; /&gt;
&nbsp;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#tags'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">tagsInput</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
		height<span style="color: #339933;">:</span><span style="color: #3366CC;">'auto'</span><span style="color: #339933;">,</span>
		defaultText<span style="color: #339933;">:</span><span style="color: #3366CC;">'Aggiungi Tag'</span><span style="color: #339933;">,</span>
		autocomplete_url<span style="color: #339933;">:</span><span style="color: #3366CC;">'json.php'</span> <span style="color: #006600; font-style: italic;">// jquery ui autocomplete requires a json endpoint</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>nel body queste pochissime righe di codice</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>form<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>label<span style="color: #339933;">&gt;</span>Autocomplete<span style="color: #339933;">:&lt;/</span>label<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;tags&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text&quot;</span> <span style="color: #003366; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;tags&quot;</span><span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;/</span>form<span style="color: #339933;">&gt;</span></pre></div></div>

<p>il file Json.<a href="http://www.cristiansannino.it/tag/php" class="st_tag internal_tag" rel="tag" title="Post taggati con php">php</a> sarebbe il file che richiama tutti i tags, per comodità li ho inseriti manualmente scrivendoli, ma in un&#8217;applicazione reale dovrebbero essere estratti da un database :</p>
<p>File json.php</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'
[ { &quot;id&quot;: &quot;Netta rufina&quot;, &quot;label&quot;: &quot;Red-crested Pochard&quot;, &quot;value&quot;: &quot;Red-crested Pochard&quot; },
{ &quot;id&quot;: &quot;Sterna sandvicensis&quot;, &quot;label&quot;: &quot;Sandwich Tern&quot;, &quot;value&quot;: &quot;Sandwich Tern&quot; },
{ &quot;id&quot;: &quot;Saxicola rubetra&quot;, &quot;label&quot;: &quot;Whinchat&quot;, &quot;value&quot;: &quot;Whinchat&quot; },
{ &quot;id&quot;: &quot;Saxicola rubicola&quot;, &quot;label&quot;: &quot;European Stonechat&quot;, &quot;value&quot;: &quot;European Stonechat&quot; },
{ &quot;id&quot;: &quot;Lanius senator&quot;, &quot;label&quot;: &quot;Woodchat Shrike&quot;, &quot;value&quot;: &quot;Woodchat Shrike&quot; },
{ &quot;id&quot;: &quot;Coccothraustes coccothraustes&quot;, &quot;label&quot;: &quot;Hawfinch&quot;, &quot;value&quot;: &quot;Hawfinch&quot; },
{ &quot;id&quot;: &quot;Ficedula hypoleuca&quot;, &quot;label&quot;: &quot;Eurasian Pied Flycatcher&quot;, &quot;value&quot;: &quot;Eurasian Pied Flycatcher&quot; },
{ &quot;id&quot;: &quot;Sitta europaea&quot;, &quot;label&quot;: &quot;Eurasian Nuthatch&quot;, &quot;value&quot;: &quot;Eurasian Nuthatch&quot; },
{ &quot;id&quot;: &quot;Pyrrhula pyrrhula&quot;, &quot;label&quot;: &quot;Eurasian Bullfinch&quot;, &quot;value&quot;: &quot;Eurasian Bullfinch&quot; },
{ &quot;id&quot;: &quot;Muscicapa striata&quot;, &quot;label&quot;: &quot;Spotted Flycatcher&quot;, &quot;value&quot;: &quot;Spotted Flycatcher&quot; },
{ &quot;id&quot;: &quot;Carduelis chloris&quot;, &quot;label&quot;: &quot;European Greenfinch&quot;, &quot;value&quot;: &quot;European Greenfinch&quot; },
{ &quot;id&quot;: &quot;Carduelis carduelis&quot;, &quot;label&quot;: &quot;European Goldfinch&quot;, &quot;value&quot;: &quot;European Goldfinch&quot; } ]'</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Questi sono tutti gli argomenti che è possibile passare all&#8217;applicazione, ma noi ne abbiamo usato solo uno e cioè il defaultText che sarebbe la label di default nel input text, prima di scriverci all&#8217;interno.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>selector<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">tagsInput</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
   <span style="color: #3366CC;">'autocomplete_url'</span><span style="color: #339933;">:</span> url_to_autocomplete_api<span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'autocomplete'</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span> option<span style="color: #339933;">:</span> value<span style="color: #339933;">,</span> option<span style="color: #339933;">:</span> value<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'height'</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'100px'</span><span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'width'</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'300px'</span><span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'interactive'</span><span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'defaultText'</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'add a tag'</span><span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'onAddTag'</span><span style="color: #339933;">:</span>callback_function<span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'onRemoveTag'</span><span style="color: #339933;">:</span>callback_function<span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'onChange'</span> <span style="color: #339933;">:</span> callback_function<span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'removeWithBackspace'</span> <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'minChars'</span> <span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>
   <span style="color: #3366CC;">'maxChars'</span> <span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span> <span style="color: #006600; font-style: italic;">//if not provided there is no limit,</span>
   <span style="color: #3366CC;">'placeholderColor'</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">'#666666'</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a rel="nofollow" href="http://demo.cristiansannino.it/jQueryTags/" target="_blank" title="Preview">Qui potete trovare una Demo.</a><br />
<a rel="nofollow" href="http://demo.cristiansannino.it/jQueryTags/jQueryTags.zip" title="Download" target="_blank">Qui potete scaricare il file zippato</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristiansannino.it/tag-facebook-style-con-jquery-e-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ispirare un Webdesigner</title>
		<link>http://www.cristiansannino.it/ispirare-un-webdesigner.html</link>
		<comments>http://www.cristiansannino.it/ispirare-un-webdesigner.html#comments</comments>
		<pubDate>Wed, 21 Sep 2011 15:30:07 +0000</pubDate>
		<dc:creator>Cristian Sannino</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[ispirazione logo]]></category>
		<category><![CDATA[logo insiprate]]></category>
		<category><![CDATA[webdesigner]]></category>

		<guid isPermaLink="false">http://www.cristiansannino.it/?p=957</guid>
		<description><![CDATA[Se fate il Webdesigner come lavoro o il grafico pubblicitario, non sarà di certo mancata la necessità di trovare dei loghi originali da cui ispirarsi e questo sito fà questo lavoro davvero molto bene, in realtà su questo sito ci sono dei loghi realizzati per clienti, alcuni tra quelli elencati sicuramente li conoscete, non a [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.cristiansannino.it/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/957.png&amp;w=200&amp;h=0&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>Se fate il <strong><a href="http://www.cristiansannino.it/tag/webdesigner" class="st_tag internal_tag" rel="tag" title="Post taggati con webdesigner">Webdesigner</a></strong> come lavoro o il <strong>grafico pubblicitario</strong>, non sarà di certo mancata la necessità di trovare dei loghi originali da cui ispirarsi e questo sito fà questo lavoro davvero molto bene, in realtà su questo sito ci sono dei loghi realizzati per clienti, alcuni tra quelli elencati sicuramente li conoscete, non a caso sono pure famosi !</p>
<p>Probabilmente anche i grafici di <strong><a href="http://www.cristiansannino.it/tag/google" class="st_tag internal_tag" rel="tag" title="Post taggati con google">Google</a></strong>, <strong>Apple</strong>, <strong>Coca Cola</strong>, <strong>Windows</strong> e chi più ne ha più ne metta, avranno preso ispirazione da questi stupendi loghi, anche perchè dobbiamo dirci la verità sono stupendi !</p>
<p>Se siete capitati su questa pagina o stavate cercando ispirazione o state girovagando alla ricerca di notizie interessanti e credetemi un avolta che sarete andati su questi 2 siti, sono sicuro che troverete la giusta ispirazione :</p>
<p><strong><a rel="nofollow" href="http://logopond.com/">Logopond.com</a></strong></p>
<p><strong></strong><a rel="nofollow" href="http://www.cristiansannino.it/ispirare-un-webdesigner.html/logo-inspire" rel="attachment wp-att-958"><img class="alignnone size-full wp-image-958" title="logo-inspire" src="http://www.cristiansannino.it/wp-content/uploads/logo-inspire.png" alt="" width="576" height="326" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><a rel="nofollow" href="http://www.logofaves.com/">Logofaves.com</a></strong></p>
<p><strong></strong><a rel="nofollow" href="http://www.cristiansannino.it/ispirare-un-webdesigner.html/logo-inspire-best" rel="attachment wp-att-959"><img class="alignnone size-full wp-image-959" title="logo-inspire-best" src="http://www.cristiansannino.it/wp-content/uploads/logo-inspire-best.png" alt="" width="576" height="480" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristiansannino.it/ispirare-un-webdesigner.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I 100 migliori font di sempre</title>
		<link>http://www.cristiansannino.it/i-100-migliori-font-di-sempre.html</link>
		<comments>http://www.cristiansannino.it/i-100-migliori-font-di-sempre.html#comments</comments>
		<pubDate>Wed, 21 Sep 2011 11:30:48 +0000</pubDate>
		<dc:creator>Cristian Sannino</dc:creator>
				<category><![CDATA[Risorse]]></category>
		<category><![CDATA[Tips/Tricks]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[migliori font]]></category>
		<category><![CDATA[slide]]></category>

		<guid isPermaLink="false">http://www.cristiansannino.it/?p=945</guid>
		<description><![CDATA[Basato su 100besteschriften.de, questi sono i migliori 100 font di sempre.Questa selezione di font si basa esclusivamente su font di tipo commerciale, non abbiamo voluto prendere in considerazione font gratuito come verdana, times, comic etc. Devo assolutamente creare un logo per un cliente e non ho idea di che font utilizzare, beh direi che dopo [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.cristiansannino.it/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/945.gif&amp;w=200&amp;h=0&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>Basato su <a rel="nofollow" href="http://www.100besteschriften.de">100besteschriften.de</a>, questi sono <strong>i migliori 100 <a href="http://www.cristiansannino.it/tag/font" class="st_tag internal_tag" rel="tag" title="Post taggati con font">font</a> di sempre</strong>.Questa selezione di font si basa esclusivamente su <strong>font di tipo commerciale</strong>, non abbiamo voluto prendere in considerazione font gratuito come verdana, times, comic etc. Devo assolutamente creare un logo per un cliente e non ho idea di che font utilizzare, beh direi che dopo aver visto questa lista di font professionali, avrai le idee molto più chiare anche perchè sono stati accuratamente selezionati da chi ha fatto statistiche su vendita e voti.Nella lista sottostante possiamo trovare la lista dei 33 migliori in assoluto, e la lista completa dei 100 font popolari.</p>
<p><a rel="nofollow" href="http://www.cristiansannino.it/i-100-migliori-font-di-sempre.html/100-font-piu-popolari" rel="attachment wp-att-946"><img class="alignnone size-full wp-image-946" title="100-font-piu-popolari" src="http://www.cristiansannino.it/wp-content/uploads/100-font-piu-popolari.gif" alt="" width="500" height="1607" /></a></p>
<p>I migliori 100 font di sempre Eccovi la lista completa dei migliori 100 font, con il nome del designer che lo ha creato e l&#8217;anno di creazione, addirittura ci sono font più grandi di me :)</p>
<p>1. Helvetica [1957 - Max Miedinger]<br /> 2. Garamond [1530 - Claude Garamond]<br /> 3. Frutiger [1977 - Adrian Frutiger]<br /> 4. Bodoni [1790 - Giambattista Bodoni]<br /> 5. Futura [1927 - Paul Renner]<br /> 6. Times [1931 - Stanley Morison]<br /> 7. Akzidenz Grotesk [1966 - G nter Gerhard Lange]<br /> 8. Officina [1990 - Erik Spiekermann]<br /> 9. Gill Sans [1930 - Eric Gill]<br /> 10. Univers [1954 - Adrian Frutiger]<br /> 11. Optima [1954 - Hermann Zapf]<br /> 12. Franklin Gothic [1903 - Morris Fuller Benton]<br /> 13. Bembo [1496 - Francesco Griffo]<br /> 14. Interstate [1993 - Tobias Frere-Jones]<br /> 15. Thesis [1994 - Lucas de Groot]<br /> 16. Rockwell [1934 - Frank H. Pierpont]<br /> 17. Walbaum [1800 - Justus Walbaum]<br /> 18. Meta [1991 - Erik Spiekermann]<br /> 19. Trinit [1982 - Bram De Does]<br /> 20. Din [1926 - Ludwig Goller]<br /> 21. Matrix [1986 - Zuzana Licko]<br /> 22. OCR [1965 - American Type Founders]<br /> 23. Avant Garde [1968 - Herb Lubalin]<br /> 24. Lucida [1985 - Chris Holmes / Charles Bigelow]<br /> 25. Sabon [1964 - Jan Tschichold]<br /> 26. Zapfino [1998 - Hermann Zapf]<br /> 27. Letter Gothic [1956 - Roger Roberson]<br /> 28. Stone [1987 - Summer Stone]<br /> 29. Arnhem [1998 - Fred Smeijers]<br /> 30. Minion [1990 - Robert Slimbach]<br /> 31. Myriad [1992 - Twombly &amp; Slimbach]<br /> 32. Rotis [1988 - Olt Aicher]<br /> 33. Eurostile [1962 - Aldo Novarese]<br /> 34. Scala [1991 - Martin Majoor]<br /> 35. Syntax [1968 - Hans Eduard Meier]<br /> 36. Joanna [1930 - Eric Gill]<br /> 37. Fleishmann [1997 - Erhard Kaiser]<br /> 38. Palatino [1950 - Hermann Zapf]<br /> 39. Baskerville [1754 - John Baskerville]<br /> 40. Fedra [2002 - Peter Bil'ak]<br /> 41. Gotham [2000 - Tobias Frere-Jones]<br /> 42. Lexicon [1992 - Bram De Does]<br /> 43. Hands [1991 - Letterror]<br /> 44. Metro [1929 - W. A. Dwiggins]<br /> 45. Didot [1799 - Firmin Didot]<br /> 46. Formata [1984 - Bernd M llenst dt]<br /> 47. Caslon [1725 - William Caslon]<br /> 48. Cooper Black [1920 - Oswald B. Cooper]<br /> 49. Peignot [1937 - A. M. Cassandre]<br /> 50. Bell Gothic [1938 - Chauncey H. Griffith]<br /> 51. Antique Olive [1962 - Roger Excoffon]<br /> 52. Wilhelm Klngspor Gotisch [1926 - Rudolf Koch]<br /> 53. Info [1996 - Erik Spiekermann]<br /> 54. Dax [1995 - Hans Reichel]<br /> 55. Proforma [1988 - Petr van Blokland]<br /> 56. Today Sans [1988 - Volker K ster]<br /> 57. Prokyon [2002 - Erhard Kaiser]<br /> 58. Trade Gothic [1948 - Jackson Burke]<br /> 59. Swift [1987 - Gerald Unger]<br /> 60. Copperplate Gothic [1901 - Frederic W. Goudy]<br /> 61. Blur [1992 - Neville Brody]<br /> 62. Base [1995 - Zuzana Licko]<br /> 63. Bell Centennial [1978 - Matthew Carter]<br /> 64. News Gothic [1908 - Morris Fuller Benton]<br /> 65. Avenir [1988 - Adrian Frutiger]<br /> 66. Bernhard Modern [1937 - Lucian Bernhard]<br /> 67. Amplitude [2003 - Christian Schwartz]<br /> 68. Trixie [1991 - Erik van Blokland]<br /> 69. Quadraat [1992 - Fred Smeijers]<br /> 70. Neutraface [2002 - Christian Schwartz]<br /> 71. Nobel [1929 - Sjoerd de Roos]<br /> 72. Industria [1990 - Neville Brody]<br /> 73. Bickham Script [1997 - Richard Lipton]<br /> 74. Bank Gothic [1930 - Morris Fuller Benton]<br /> 75. Corporate ASE [1989 - Kurt Weidemann]<br /> 76. Fago [2000 - Ole Schafer]<br /> 77. Trajan [1989 - Carol Twombly]<br /> 78. Kabel [1927 - Rudolf Koch]<br /> 79. House Gothic 23 [1995 - Tal Leming]<br /> 80. Kosmik [1993 - Letterror]<br /> 81. Caecilia [1990 - Peter Matthias Noordzij]<br /> 82. Mrs Eaves [1996 - Zuzana Licko]<br /> 83. Corpid [1997 - Lucas de Groot]<br /> 84. Miller [1997 - Matthew Carter]<br /> 85. Souvenir [1914 - Morris Fuller Benton]<br /> 86. Instant Types [1992 - Just van Rossum]<br /> 87. Clarendon [1845 - Benjamin Fox]<br /> 88. Triplex [1989 - Zuzana Licko]<br /> 89. Benguiat [1989 - Ed Benguiat]<br /> 90. Zapf Renaissance [1984 - Hermann Zapf]<br /> 91. Filosofia [1996 - Zuzana Licko]<br /> 92. Chalet [1996 - House Industries]<br /> 93. Quay Sans [1990 - David Quay]<br /> 94. C zanne [1995 - Michael Want, James Grieshaber]<br /> 95. Reporter [1938 - Carlos Winkow]<br /> 96. Legacy [1992 - Ronald Arnholm]<br /> 97. Agenda [1993 - Greg Thompson]<br /> 98. Bello [2004 - Underware]<br /> 99. Dalliance [2000 - Frank Heine]</p>
<p>100. Mistral [1953 - Roger Excoffon]</p>
<p>Thanks to : <a rel="nofollow" href="http://justcreativedesign.com/2009/03/04/the-top-100-best-fonts-of-all-time/">Justcreativedesign.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristiansannino.it/i-100-migliori-font-di-sempre.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google plus, apre a tutti gli utenti !</title>
		<link>http://www.cristiansannino.it/google-plus-apre-a-tutti-gli-utenti.html</link>
		<comments>http://www.cristiansannino.it/google-plus-apre-a-tutti-gli-utenti.html#comments</comments>
		<pubDate>Wed, 21 Sep 2011 09:19:01 +0000</pubDate>
		<dc:creator>Cristian Sannino</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Google+]]></category>
		<category><![CDATA[Social Network]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[slide]]></category>
		<category><![CDATA[social network]]></category>
		<category><![CDATA[videochat]]></category>

		<guid isPermaLink="false">http://www.cristiansannino.it/?p=918</guid>
		<description><![CDATA[Ormai erano mesi che Google plus testava il suo social network, con pochi (si fa per dire) beta tester, ed oggi invece apre i battenti a tutti gli utenti, la sfida Google vs Facebook è ufficialmente iniziata ! Le novità principale che trovo interessanti i entrambi i social network sono : la videochat, la condivisione [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.cristiansannino.it/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/918.jpg&amp;w=200&amp;h=0&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p><img class="size-medium wp-image-920 aligncenter" style="border-style: initial; border-color: initial;" title="google+-vs-facebook" src="http://www.cristiansannino.it/wp-content/uploads/google+-vs-facebook-300x209.jpg" alt="" width="300" height="209" /></p>
<p>Ormai erano mesi che <strong><a href="http://www.cristiansannino.it/tag/google" class="st_tag internal_tag" rel="tag" title="Post taggati con google">Google</a></strong> plus testava il suo<strong> <a href="http://www.cristiansannino.it/tag/social-network-2" class="st_tag internal_tag" rel="tag" title="Post taggati con social network">social network</a></strong>, con pochi (si fa per dire) beta tester, ed oggi invece apre i battenti a tutti gli utenti, la sfida<strong> Google vs <a href="http://www.cristiansannino.it/tag/facebook" class="st_tag internal_tag" rel="tag" title="Post taggati con facebook">Facebook</a></strong> è ufficialmente iniziata ! Le novità principale che trovo interessanti i entrambi i social network sono : la <a href="http://www.cristiansannino.it/tag/videochat" class="st_tag internal_tag" rel="tag" title="Post taggati con videochat">videochat</a>, la condivisione degli aggiornamenti ristretti a gruppi specifici, lo sviluppo di applicazioni di Facebook, punto di grande forza, e poi la cosa molto importante è quel pulsantino +1 di Google, che indice in termini di <a rel="nofollow" href="http://cristiansannino.it" class="kblinker" title="More about posizionamento &raquo;">posizionamento</a> nelle ricerche di Google.</p>
<p>Secondo me è troppo presto per dire che Google+ potrà competere al momento con <strong>Facebook</strong>, ma da buon utilizzatore di praticamente tutti i servizi di Google, da <strong>Gmail</strong> a <strong>Google reader</strong>, a <strong>Google apps</strong>, insomma nonstante io ami questa azienda, dico che il Social Network dovrà attendere ancora.</p>
<p><img class="size-full wp-image-922 aligncenter" title="Google-vs-Facebook-280x259" src="http://www.cristiansannino.it/wp-content/uploads/Google-vs-Facebook-280x259.jpg" alt="" width="280" height="259" /></p>
<p>Inoltre mi sembra che ci sia guerra già da un bel pò, infatti in rete si trovano immagini di questo tipo e non è un caso, probabilmente qualcuno&#8230;. :) lo ha già capito !</p>
<p>Chi vuole un invito può chiederlo nei commenti, sarà invitato istantaneamente ;)</p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"> </p>
<p><img class="alignnone size-medium wp-image-921 aligncenter" title="google-vs-facebook1-650x370" src="http://www.cristiansannino.it/wp-content/uploads/google-vs-facebook1-650x370-300x170.jpg" alt="" width="300" height="170" /></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristiansannino.it/google-plus-apre-a-tutti-gli-utenti.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creare una landing page di Successo &#8211; Web marketing ipnotico</title>
		<link>http://www.cristiansannino.it/landing-page-di-successo.html</link>
		<comments>http://www.cristiansannino.it/landing-page-di-successo.html#comments</comments>
		<pubDate>Mon, 19 Sep 2011 23:32:06 +0000</pubDate>
		<dc:creator>Cristian Sannino</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Marketing]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[iphone 5]]></category>
		<category><![CDATA[landing page]]></category>
		<category><![CDATA[slide]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[web marketing]]></category>

		<guid isPermaLink="false">http://www.cristiansannino.it/?p=823</guid>
		<description><![CDATA[Landing page di Successo Le landing page sono ormai un argomento hot per i professionisti del web, c&#8217;è chi si affida alla grafica accattivante e chi sceglie per bene i contenuti evidenziando parole chiave, linkando le keyword adatte, aggiungendo parole chiave in tutta la pagina&#8230; Ma alla fine siamo sicuri che tutto questo basti ? [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.cristiansannino.it/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/823.gif&amp;w=200&amp;h=0&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<h1><a href="http://www.cristiansannino.it/tag/landing-page" class="st_tag internal_tag" rel="tag" title="Post taggati con landing page">Landing page</a> di Successo</h1>
<p><img class="alignnone size-full wp-image-829" title="web-marketing-virale" src="http://www.cristiansannino.it/wp-content/uploads/web-marketing-virale.png" alt="" width="520" height="440" /></p>
<p>Le <strong>landing page</strong> sono ormai un argomento hot per i <strong>professionisti del web</strong>, c&#8217;è chi si affida alla grafica accattivante e chi sceglie per bene i contenuti evidenziando parole chiave, linkando le <strong>keyword</strong> adatte, aggiungendo parole chiave in tutta la pagina&#8230; Ma alla fine siamo sicuri che tutto questo basti ?</p>
<p>A mio parere no ! Ho effettuato varie campagne pubblicitarie per diversi clienti ed il più delle volte con le landing page mi sono scottato e solo dopo anni ho compreso una cosa, le landing page devono innanzitutto :</p>
<ol>
<li>Proporre un <strong>buon prodotto</strong>.</li>
<li>Descrivere il prodotto <strong>quanto più dettagliato</strong> possibile.</li>
<li>Essere <strong>competitivi</strong> sul mercato.</li>
<li>Introdurlo nella maniera più <strong>sincera</strong> possibile.</li>
<li>Infine saper <strong>stregare</strong> l&#8217;utente con parole chiare e coincise&#8230;</li>
</ol>
<div>Detto questo, adesso vi starete chiedendo ma cosa significa tutto questo ? Beh, il succo del discorso è che fare <strong><a href="http://www.cristiansannino.it/tag/web-marketing-2" class="st_tag internal_tag" rel="tag" title="Post taggati con web marketing">Web Marketing</a> </strong>o<strong> <a rel="nofollow" href="http://cristiansannino.it" class="kblinker" title="More about seo &raquo;">SEO</a> </strong>è un&#8217;attività lunga e tortuosa e solo avendo cura dei dettagli si può arrivare a dei buoni risultati.</div>
<div>Facciamo adesso un esempio concreto : Pubblicizzo la mia <strong>applicazione per iPhone</strong> che mi permette il teletrasporto&#8230;.woooooow, beh forse è troppo, ma il vantaggio almeno è di avere un buon prodotto :)</div>
<div>Innanzitutto partiamo da questo presupposto, cosa posso farmene di un app che mi permette il teletrasporto ? Beh direi che mi potrebbe far risparmiare tanti soldi che altrimenti andrebbero alle compagnie aeree&#8230;ecco introdotto un primo motivo per la quale l&#8217;utente la deve acquistare. Ma adesso dico perchè continui a leggere non farlo, perchè potresti scoprire cose che potrebbero cambiare il tuo modo di fare e magari rischieresti domattina di diventare ricco perchè riesci a teletrasportare lingotti d&#8217;oro da una banca a casa tua :)) (il sogno diventa realtà !) ovviamente scherzo, ma come vedete l&#8217;utente sta ancora leggendo perchè io sto facendo sognare l&#8217;utente e quindi è ciò che a loro piace, poi però qui subentra la reale utilità dell&#8217;applicazione, il teletrasporto è qualcosa che tutti possono avere ? beh se non è così allora non sarebbe desiderabile come cosa, e quindi l&#8217;utente è ancora più affascinato dalla cosa&#8230;basti pensare all&#8217;imminente uscita dell&#8217; <strong><a href="http://www.cristiansannino.it/tag/iphone-5" class="st_tag internal_tag" rel="tag" title="Post taggati con iphone 5">iPhone 5</a></strong> che <strong>Apple</strong> con un silenzio totale, sta facendo fremere tutti gli appasionati del melafonino, in modo che il giorno in cui il prodotto venga messo sul mercato, venga esaurito entro la sera :)</div>
<div>Ok ma tornando alla nostra bella landing page, voglio che l&#8217;utente non veda il prezzo o magari qualcosa che lo potrebbe far sentire forzato, anche perchè gli utenti quando si sentono forzati, la prima cosa che fanno è scappare ! Quindi fategli capire che se, nel caso vorrebbero avere maggiori informazioni, allora possono pure andare a vedere altri dettagli, altrimenti sono  liberi di scegliere.</div>
<div>Bene in tutto questo bel dire, siete arrivati fino alla fine di questo post, pensate sia stato un buon ipnotizzatore ? dove ho potuto sbagliare ?</div>
<div>Foto ragazza : <a rel="nofollow" href="http://www.everystockphoto.com/photo.php?imageId=311030&amp;searchId=56609ab6ba04048adc2cbfafbe745e10&amp;npos=1">Everystockphoto.com</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.cristiansannino.it/landing-page-di-successo.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>50 siti per trovare stock di immagini gratuite !</title>
		<link>http://www.cristiansannino.it/50-siti-per-trovare-stock-di-immagini-gratuite.html</link>
		<comments>http://www.cristiansannino.it/50-siti-per-trovare-stock-di-immagini-gratuite.html#comments</comments>
		<pubDate>Mon, 19 Sep 2011 20:29:56 +0000</pubDate>
		<dc:creator>Cristian Sannino</dc:creator>
				<category><![CDATA[Articoli]]></category>
		<category><![CDATA[Risorse]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[stock immagini]]></category>
		<category><![CDATA[stock photo]]></category>

		<guid isPermaLink="false">http://www.cristiansannino.it/?p=817</guid>
		<description><![CDATA[Se ti piace Web Design, probabilmente usare un sacco di immagini nei vostri disegni. L&#8217;articolo che segue è un elenco di 50 siti web che forniscono gratuito, open-fonti delle immagini e la fotografia per aiutarvi a creare disegni mozzafiato senza spendere un dollaro. FreeFoto.com : Un sacco di immagini, strutturato in diverse gallerie. Dexhaus :. Ottimo sito con [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.cristiansannino.it/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/817.jpg&amp;w=200&amp;h=0&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p><a rel="nofollow" href="http://www.cristiansannino.it/50-siti-per-trovare-stock-di-immagini-gratuite.html/light-sinusoid" rel="attachment wp-att-818"><img class="alignnone size-full wp-image-818" title="light sinusoid" src="http://www.cristiansannino.it/wp-content/uploads/light_twist.jpg" alt="" width="640" height="426" /></a></p>
<p>Se ti piace Web Design, probabilmente usare un sacco di immagini nei vostri disegni. L&#8217;articolo che segue è un elenco di 50 siti web che forniscono gratuito, open-fonti delle immagini e la fotografia per aiutarvi a creare disegni mozzafiato senza spendere un dollaro.</p>
<p><a rel="nofollow" href="http://www.freefoto.com/index.jsp">FreeFoto.com</a> : Un sacco di immagini, strutturato in diverse gallerie.</p>
<p><a rel="nofollow" href="http://www.dexhaus.com/v2/">Dexhaus</a> :. Ottimo sito con foto stupende </p>
<p><a rel="nofollow" href="http://www.kavewall.com/stock/">Kavewall</a> :. immagini e texture </p>
<p><a rel="nofollow" href="http://www.adigitaldreamer.com/gallery/index.php">digitali Dreamers</a> :. Gallery differenti</p>
<p><a rel="nofollow" href="http://www.stockvault.net/">StockVault</a> :. molto noto, e molto buono, ovviamente </p>
<p><a rel="nofollow" href="http://www.freephotosbank.com/">FreePhotosBank</a> : Buona scelta.</p>
<p><a rel="nofollow" href="http://www.freedigitalphotos.net/">FreeDigitalPhotos</a> : Un sacco di foto.</p>
<p><a rel="nofollow" href="http://www.cepolina.com/freephoto/">Cepolina</a> : Immagini in diversi formati. </p>
<p><a rel="nofollow" href="http://www.turbophoto.com/Free-Stock-Images/">TurboPhoto</a>: Semplice ed efficace! </p>
<p><a rel="nofollow" href="http://www.freestockimages.net/">FreeStockImages</a> : Bel sito, contenuto impressionante.</p>
<p><a rel="nofollow" href="http://stockart.deviantart.com/">DeviantArt</a> : Un altro noto sito con immagini, foto e pennelli di Photoshop.</p>
<p><a rel="nofollow" href="http://www.stockvault.net/">Dreamstime</a> :. foto ad alta risoluzione </p>
<p><a rel="nofollow" href="http://www.unprofound.com/">Unprofound</a> : Molte, molte, molte, le immagini! </p>
<p>&nbsp;</p>
<p><a rel="nofollow" href="http://www.cristiansannino.it/50-siti-per-trovare-stock-di-immagini-gratuite.html/womansmokingcigarcuba12" rel="attachment wp-att-819"><img class="alignnone size-full wp-image-819" title="womanSmokingCigarCuba12" src="http://www.cristiansannino.it/wp-content/uploads/womanSmokingCigarCuba12.jpg" alt="" width="640" height="441" /></a></p>
<p>&nbsp;</p>
<p><a rel="nofollow" href="http://www.vintagepixels.com/" class="broken_link">VintagePixel</a> : Old-School style. </p>
<p><a rel="nofollow" href="http://www.openstockphotography.org/">OpenStockPhotography</a> : Più di un milione di immagini.</p>
<p><a rel="nofollow" href="http://www.imageafter.com/">ImageAfter</a> :. immagini e texture </p>
<p><a rel="nofollow" href="http://www.fontplay.com/freephotos/">FreePhotosIndex</a> :. buono ma difficile da navigare</p>
<p><a rel="nofollow" href="http://www.everystockphoto.com/">EveryStockPhoto</a> : Ccontenuti piacevoli. </p>
<p><a rel="nofollow" href="http://www.photocase.com/en/">Photocase</a> : Idem</p>
<p><a rel="nofollow" href="http://www.sxc.hu/">Stock.xchg</a> : Semplicemente fantastico.</p>
<p><a rel="nofollow" href="http://www.morguefile.com/">Morguefile</a> : Da avere nei preferiti</p>
<p> <a rel="nofollow" href="http://www.flickr.com/creativecommons/">Flickr</a> : Lo conosci ? </p>
<p><a rel="nofollow" href="http://www.graphicsarena.com/">GraphicsArena</a> : Stupendo !. </p>
<p><a rel="nofollow" href="http://www.pixelperfectdigital.com/free_stock_photos/" class="broken_link">PixelPerfectDigital</a> : Se vi piace la fotografia digitale, vi innamorerete di questo sito.</p>
<p><a rel="nofollow" href="http://freerangestock.com/">FreeRange</a> : Un altro sito ben conosciuto.</p>
<p><a rel="nofollow" href="http://www.animationfactory.com/en/">AnimationFactory</a> : Se ti piacciono le animazioni, sarai felice di navigare questo sito ! </p>
<p><a rel="nofollow" href="http://www.fotogenika.net/modifica/igallery.asp">Fotogenika</a> :. Gallerie bellissima</p>
<p><a rel="nofollow" href="http://www.woophy.com/map/index.php">Woophy</a> :. Per trovare immagini del mondo </p>
<p><a rel="nofollow" href="http://www.mayang.com/textures/">MayangFreeTextures</a> : Un sacco di textures da scaricare gratuitamente.</p>
<p><a rel="nofollow" href="http://www.fromoldbooks.org/">FromOldBooks</a> : Se ti piacciono i vecchi libri!</p>
<p><a rel="nofollow" href="http://www.texturewarehouse.com/gallery/index.php">TextureWarehouse</a> : solo textures di alta qualità. </p>
<p><a rel="nofollow" href="http://freestockphotos.com/">FreeStockPhotos</a> : sito Brutto ma immagini d&#8217;impatto.</p>
<p><a rel="nofollow" href="http://majesticimagery.com/">MajesticImagery</a> :. Bellissimo</p>
<p><a rel="nofollow" href="http://www.burningwell.org/">BurningWell</a> : Molto bello.</p>
<p><a rel="nofollow" href="http://www.designpacks.com/">DesignPack</a> : Pacchetti di immagini</p>
<p><a rel="nofollow" href="http://www.zurb.com/zurbphotos/">ZurbPhotos</a> :. Da vedere</p>
<p><a rel="nofollow" href="http://amazingtextures.com/textures/index.php">AmazingTextures</a> : Il nome dice tutto </p>
<p><a rel="nofollow" href="http://amazingtextures.com/textures/index.php">ImageBase</a> : Unsacco di foto bellissime </p>
<p><a rel="nofollow" href="http://www.diwiesign.com/index.php?page=stockphotos">DiwieDesign</a> : Le immagini sono gratuite ma siete invitati a fare una donazione.</p>
<p><a rel="nofollow" href="http://tofz.org/index.php">Tofz</a> : Fotografie urbane.</p>
<p><a rel="nofollow" href="http://www.lightmatter.net/gallery/">LightMatter</a> :.</p>
<p><a rel="nofollow" href="http://www.insectimages.org/">InsectImages</a> : solo immagini di insetti. Bzzz &#8230; </p>
<p><a rel="nofollow" href="http://www.afflict.net/">Afflict</a> :. Ottimo sito</p>
<p>ArtFavor : immagini, <a href="http://www.cristiansannino.it/tag/font" class="st_tag internal_tag" rel="tag" title="Post taggati con font">font</a> e sfondi sullo stesso sito.</p>
<p><a rel="nofollow" href="http://www.freeimages.co.uk/">FreeImages</a> : Un altro bello&#8230; </p>
<p><a rel="nofollow" href="http://www.creatingonline.com/stock_photos/">CreatingOnline</a> :. Ottima risorsa</p>
<p><a rel="nofollow" href="http://www.geekphilosopher.com/MainPage/photos.htm">GeekPhilosopher</a> :. Immagini dal GeekPhilosopher </p>
<p><a rel="nofollow" href="http://www.creativity103.com/">Creativity103</a> : Un sacco di immagini.</p>
<p><a rel="nofollow" href="http://www.photoshopsupport.com/resources/stock-photos.html">PhotoshopSupport</a> :Se ti piace Photoshop, ti innamorerai di quel sito </p>
<p><a rel="nofollow" href="http://www.freemediagoo.com/">FreeMediaGoo</a> : risorsa molto completa.</p>
<p><a rel="nofollow" href="http://www.uneimageauhasard.com/">Immagine une au Hasard</a> : Galleria di un fotografo dilettante.</p>
<p>Se avete altre fonti elencatele.</p>
<p>Questo articolo è stato tradotto in italiano da questa fonte : <a rel="nofollow" href="http://www.catswhocode.com/blog/50-sites-to-find-free-stock-images">http://www.catswhocode.com/blog/50-sites-to-find-free-stock-images</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristiansannino.it/50-siti-per-trovare-stock-di-immagini-gratuite.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEO istantaneo made in Google : Caffeine o Panda ?</title>
		<link>http://www.cristiansannino.it/seo-istantaneo-made-in-google.html</link>
		<comments>http://www.cristiansannino.it/seo-istantaneo-made-in-google.html#comments</comments>
		<pubDate>Mon, 19 Sep 2011 08:02:05 +0000</pubDate>
		<dc:creator>Cristian Sannino</dc:creator>
				<category><![CDATA[Posizionamento]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Marketing]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[posizionamento]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[web marketing]]></category>

		<guid isPermaLink="false">http://www.cristiansannino.it/?p=809</guid>
		<description><![CDATA[Ormai erano mesi che non scrivevo post ed oltretutto ero su un VPS che faceva davvero pena e non mi riferisco a quelli di Aruba&#8230;.ehm. Vabbè ma tornando a noi, ho iniziato a mettere un pò in ordine le prime idee e quindi ripubblico il blog, scrivendo subito un pò di argomenti che avevo in [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.cristiansannino.it/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/809.jpg&amp;w=200&amp;h=0&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p><a rel="nofollow" href="http://www.cristiansannino.it/seo-istantaneo-made-in-google.html/google-panda" rel="attachment wp-att-811"><img class="alignnone size-full wp-image-811" title="google-panda" src="http://www.cristiansannino.it/wp-content/uploads/google-panda.png" alt="" width="426" height="164" /></a></p>
<p><a rel="nofollow" href="http://www.cristiansannino.it/seo-istantaneo-made-in-google.html/google-caffeine-panda" rel="attachment wp-att-812"><img class="alignnone size-full wp-image-812" title="google-caffeine-panda" src="http://www.cristiansannino.it/wp-content/uploads/google-caffeine-panda.jpg" alt="" width="432" height="183" /></a></p>
<p>Ormai erano mesi che non scrivevo post ed oltretutto ero su un VPS che faceva davvero pena e non mi riferisco a quelli di Aruba&#8230;.ehm.</p>
<p>Vabbè ma tornando a noi, ho iniziato a mettere un pò in ordine le prime idee e quindi ripubblico il blog, scrivendo subito un pò di argomenti che avevo in mente e cosa noto ? nemmeno a distanza di un giorno i miei post sono già ben indicizzati e portano visite dalle ricerche&#8230;ma allora il <strong><a href="http://www.cristiansannino.it/tag/posizionamento" class="st_tag internal_tag" rel="tag" title="Post taggati con posizionamento">posizionamento</a> su <a href="http://www.cristiansannino.it/tag/google" class="st_tag internal_tag" rel="tag" title="Post taggati con google">google</a> </strong>sta davvero cambiando  :lol: e di chi sarà il merito <strong>Google Caffeine</strong> o<strong> Google Panda</strong> ? </p>
<p>Diciamo che non ne voglio entrare in merito subito, ma proverò scrivendo ancora articoli su certi argomenti per vedere la reazione di big G, in fondo il <a rel="nofollow" href="http://cristiansannino.it" class="kblinker" title="More about seo &raquo;">SEO</a> ed il SEM si concentra maggiormente su dei test :) ed a proposito di SEM, volevo ricordarvi che si terrà a Milano un ennesimo seminario sul<strong> <a href="http://www.cristiansannino.it/tag/seo-2" class="st_tag internal_tag" rel="tag" title="Post taggati con seo">Seo</a></strong> e<strong> <a href="http://www.cristiansannino.it/tag/web-marketing-2" class="st_tag internal_tag" rel="tag" title="Post taggati con web marketing">Web Marketing</a></strong>, ma di quelli seri e la partecipazione stavolta è d&#8217;obbligo gli ospiti saranno molto importanti, senza contare che l&#8217;evento è firmato Madri ! A proposito qui ne parlo più in dettaglio : <a rel="nofollow" href="http://www.cristiansannino.it/seo-web-marketing-e-posizionamento.html">Seo Web Marketing  e posizionamento</a>.</p>
<p>Tornando alla questione Google, noto dei risultati più concreti ed efficaci, probabilmente un <strong>sito indicizzato</strong> ed un buon <strong>posizionamento dei motori di ricerca </strong>si avranno solo con contenuti di valore, accurati, non copiazzati, &#8220;sinceri&#8221; da non sottovalutare l&#8217;ultimo aggettivo, perchè i contenuti sinceri, sono quelli scritti non per portare click sui vostri banner pubblicitari, ma bensì quelli che sono interessanti per i nostri cari lettori.</p>
<p>Happy SEO vi terro informati !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristiansannino.it/seo-istantaneo-made-in-google.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il duro lavoro del Freelance, 7 regole da ricordare !</title>
		<link>http://www.cristiansannino.it/il-duro-lavoro-del-freelance-7-regole-da-ricordare.html</link>
		<comments>http://www.cristiansannino.it/il-duro-lavoro-del-freelance-7-regole-da-ricordare.html#comments</comments>
		<pubDate>Sun, 18 Sep 2011 13:52:21 +0000</pubDate>
		<dc:creator>Cristian Sannino</dc:creator>
				<category><![CDATA[Articoli]]></category>
		<category><![CDATA[Webmaster]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[slide]]></category>
		<category><![CDATA[slider]]></category>

		<guid isPermaLink="false">http://www.cristiansannino.it/?p=804</guid>
		<description><![CDATA[Scritto da Marcello, del Team Italy di twago Che sia per la voglia di una nuova sfida o perchè non si ama più il lavoro dipendente, poco importa. Diventare un freelance è una scelta sempre più diffusa. E potenzialmente anche sempre più di successo. E questo vale soprattutto per i mestieri dell’IT, dalla programmazione fino al web design. Ma diventare [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.cristiansannino.it/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/804.jpg&amp;w=200&amp;h=0&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p><em>Scritto da Marcello, del Team Italy di <a rel="nofollow" href="http://www.twago.it/">twago</a></em></p>
<p><a rel="nofollow" href="http://www.cristiansannino.it/il-duro-lavoro-del-freelance-7-regole-da-ricordare.html/freelance" rel="attachment wp-att-805"><img class="alignnone size-full wp-image-805" title="freelance" src="http://www.cristiansannino.it/wp-content/uploads/freelance.jpg" alt="" width="500" height="335" /></a></p>
<p>Che sia per la voglia di una nuova sfida o perchè non si ama più il lavoro dipendente, poco importa. Diventare un <strong><a href="http://www.cristiansannino.it/tag/freelance" class="st_tag internal_tag" rel="tag" title="Post taggati con freelance">freelance</a></strong> è una scelta sempre più diffusa. E potenzialmente anche sempre più di successo. E questo vale soprattutto per i mestieri dell’IT, dalla programmazione fino al web design.</p>
<p>Ma diventare un <em>freelance</em> non è una passeggiata. Non è un gioco. Non significa lavorare di meno. Diventare <u>freelance</u> significa autovalorizzare le proprie capacità rischiando un po’ di più. E il rischio sarà di casa soprattutto all’inizio.</p>
<h2>Alcuni consigli per diventare freelance? Eccoli!</h2>
<p><strong>1. Volontà</strong></p>
<p>E’ la vecchia voglia di fare di cui parlavano i nostri nonni. Ma nel caso del freelance la forza di volontà dev’essere anche legata alla capacità di non farsi impressionare dall’assenza di punti saldi e di obbiettivi dati dall’esterno. Soprattuto all’inizio, se lo spaesamento ti fa paura, lascia perdere. Se hai bisogno di regole per alzarti la mattina e per la pausa pranzo, dimentica l’idea di diventare freelance. Se vuoi essere un freelance la tua bravura e la tua professionalità hanno bisogno di autodisciplina originale ma efficace.</p>
<p><strong>2. Una base di partenza</strong></p>
<p>Una minima base economica è necessaria per iniziare. Non quella che serve per far nascere un’azienda, ma quella che possa proteggerti se le cose non ingranano subito al meglio. Hai bisogno di una base per sostenere i giorni in cui le entrate saranno più magre dei tempi del lavoro dipendente che hai appena lasciato. Una base economica che ti lasci il tempo per capire che quei giorni magri sono spesso una tappa obbligata per chi voglia diventare un esperto freelance.</p>
<p><strong>3. Un’idea su come fare affari</strong></p>
<p>Proseguire su una strada ancora poco battuta e piena di incognite non significa però che tu non debba fare un piano dei tuoi affari. Non sai ancora con chi li farai, ma devi sapere come vorrai farli, gli affari. Magari sono anni che ti vengono idee su come lavorare da freelance. Questo è il momento di metterle nero su bianco e farne dei manifesti da incollare sopra la tua scrivania. E’ il momento che tutti quei castelli per aria abbiano delle fondamenta. Perchè ora hai i mattoni in mano.</p>
<p><strong>4. Il mercato</strong></p>
<p>Che ti piaccia o meno, sarà il mercato a decidere il tuo destino da freelance. Gettarsi nel mercato senza sapere quello che si vuole è inutile. Volere quello che non è richiesto dal mercato è addirittura dannoso. Prima di iniziare individua il tuo target, la tua specialità, e concentrati su quella, senza mollare. Diventerai ogni giorno più esperto nel tuo settore e presto sarà la tua esperienza il tuo biglietto da visita. Se poi sceglierai di proporti a livello internazionale tramite il web, i tuoi clienti non potranno che aumentare.</p>
<p><strong>5. Marketing</strong></p>
<p>Resta il fatto che la tua esperienza dovrà essere visibile. Non potrai evitare di pensare al marketing. Devi dare risalto alle tue capacità da freelance. Devi fare in modo che i tuoi clienti parlino di te. Apri un blog e raccogli le testimonianze dei tuoi clienti. Mantieniti in collegamento con altri freelance, anche di campi divesi dal tuo. Aggiorna il tuo blog con contenuti di valore. Dai una forma accattivante ai tuoi contenuti. Di semplicemente la verità: tu sei bravo e capace, che si sappia in giro, fin dall’inizio!</p>
<p><strong>6. Supporto emotivo</strong></p>
<p>Sembra poco importante. Ma soprattutto se stai passando dal lavoro dipendente a quello freelance dovrai parlarne anche con chi ti sta a fianco nella vita privata. Molto probabilmente avrai bisogno dell’appoggio di lei, di lui o di loro, incluso il cane. Dovrai spiegare perchè non vai più a lavoro ma hai scelto di chiuderti in camera o in un caffè con il tuo laptop negli orari più impensabili. Dovrai spiegare perchè la tua nuova libertà è tanto difficile quanto importante. Se capiranno sarà una bene per tutti, anche per il cane.</p>
<p><strong>7. Di bene in meglio.</strong></p>
<p>Pronti…via! Ora sei un freelance. Lavori solo per te stesso. E ogni cliente che conquisterai darà vita all’effetto delle amcizie di un <a href="http://www.cristiansannino.it/tag/social-network-2" class="st_tag internal_tag" rel="tag" title="Post taggati con social network">social network</a>: la tua popolarità crescerà e si nutrirà di se stessa. Se saprai promuovere le tue capacità, la tua rete non potrà che allaragarsi sempre di più. Il tuo blog avrà più visite e contributi, in giro per il web si saprà quanto sei bravo.</p>
<p>Certo il successo non è sicuro, ma è possibile. Questo è il rischio che hai scelto in cambio della libertà di lavorare come e quando vuoi.</p>
<p>Ringrazio per la disponibilità anche del blog amico come fonte : <a rel="nofollow" href="http://www.gleenk.com/switch-to-freelance-7-regole-per-passare-al-lavoro-freelance/">www.gleenk.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristiansannino.it/il-duro-lavoro-del-freelance-7-regole-da-ricordare.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prendere i tag da una pagina web con PHP e preg_match()</title>
		<link>http://www.cristiansannino.it/prendere-i-tag-da-una-pagina-web-con-php-e-preg_match.html</link>
		<comments>http://www.cristiansannino.it/prendere-i-tag-da-una-pagina-web-con-php-e-preg_match.html#comments</comments>
		<pubDate>Sun, 18 Sep 2011 09:41:22 +0000</pubDate>
		<dc:creator>Cristian Sannino</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[preg_match]]></category>
		<category><![CDATA[preg_match_all]]></category>
		<category><![CDATA[Robot php]]></category>
		<category><![CDATA[slide]]></category>
		<category><![CDATA[tag retrieve]]></category>

		<guid isPermaLink="false">http://www.cristiansannino.it/?p=799</guid>
		<description><![CDATA[Queste funzioni sono delle vere chicche per tutti i webmaster, perchè aiutano in alcune operazione ed è possibile sviluppare alcuni tools molto semplicemente&#8230; Da dire che preg_match() ritornerà un solo risultato, mentre preg_match_all() si fermerà quando non ci saranno più occorrenze. Con queste funzioni è possibile creare uno spider che magari indicizzi i siti su [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.cristiansannino.it/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/799.jpg&amp;w=200&amp;h=0&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>Queste funzioni sono delle vere chicche per tutti i webmaster, perchè aiutano in alcune operazione ed è possibile sviluppare alcuni tools molto semplicemente&#8230;</p>
<p>Da dire che <a href="http://www.cristiansannino.it/tag/preg_match" class="st_tag internal_tag" rel="tag" title="Post taggati con preg_match">preg_match</a>() ritornerà un solo risultato, mentre <a href="http://www.cristiansannino.it/tag/preg_match_all" class="st_tag internal_tag" rel="tag" title="Post taggati con preg_match_all">preg_match_all</a>() si fermerà quando non ci saranno più occorrenze. Con queste funzioni è possibile creare uno spider che magari indicizzi i siti su un ipotetico motore di ricerca, oppure creare un bot che faccia indagini di mercato prendendo i prezzi da e-commerce in giro e li confronti&#8230;insomma con un pò di immaginazione si fà molto.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> ?php
 
<span style="color: #666666; font-style: italic;">/* Functions for retrieving web document tags */</span>
<span style="color: #666666; font-style: italic;">/* written by artViper designstudio ©2007 all rights reserved */</span>
<span style="color: #666666; font-style: italic;">/* this function list is listed under the GPL */</span>
<span style="color: #666666; font-style: italic;">/* if you use this, please honor our work and name us on your page */</span>
<span style="color: #666666; font-style: italic;">/* if you have further questions, enhancements or anything else */</span>
<span style="color: #666666; font-style: italic;">/* then drop a line at admin@artviper.net */</span>
<span style="color: #666666; font-style: italic;">/* most functions return the content of the requested tags in array[0] */</span>
<span style="color: #666666; font-style: italic;">/* and the count in array[1] except those, where a special function to */</span>
<span style="color: #666666; font-style: italic;">/* retrieve the count is given */</span>
<span style="color: #666666; font-style: italic;">/* example usage :
$file = file_get_contents(&quot;http://www.artviper.com&quot;);
$x = (get_link_rel($file));
print_r($x);
*/</span>
 
<span style="color: #666666; font-style: italic;">// retrieve doctype of document</span>
<span style="color: #000000; font-weight: bold;">function</span> get_doctype<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$h1tags</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'//is'</span><span style="color: #339933;">,</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$res</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$res</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
 
<span style="color: #666666; font-style: italic;">// retrieve page title</span>
<span style="color: #000000; font-weight: bold;">function</span> get_doc_title<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$h1tags</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/ ?.* &amp;lt; \/title&amp;gt;/isx'</span><span style="color: #339933;">,</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$res</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$res</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
 
<span style="color: #666666; font-style: italic;">// retrieve keywords</span>
<span style="color: #000000; font-weight: bold;">function</span> get_keywords<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$h1tags</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/()/i'</span><span style="color: #339933;">,</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$res</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$res</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
 
<span style="color: #666666; font-style: italic;">// get rel links in header of the site</span>
<span style="color: #000000; font-weight: bold;">function</span> get_link_rel<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$h1tags</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_match_all</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/(rel=)(&quot;.*&quot;) href=(&quot;.*&quot;)/im'</span><span style="color: #339933;">,</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$res</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$res</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
 
<span style="color: #000000; font-weight: bold;">function</span> get_external_css<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$h1tags</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_match_all</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/(href=&quot;)(\w.*\.css)&quot;/i'</span><span style="color: #339933;">,</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$res</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">array_push</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$res</span><span style="color: #339933;">,</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$patterns</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$res</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
 
<span style="color: #666666; font-style: italic;">// retrieve all h1 tags</span>
<span style="color: #000000; font-weight: bold;">function</span> get_h1<span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$h1tags</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_match_all</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/(</span></pre></div></div>

<h1>)(\w.*)(&lt; \/h1&gt;)/isxmU&#8221;,$file,$patterns);     $res = array();     array_push($res,$patterns[2]);     array_push($res,count($patterns[2]));     return $res; }   // retrieve all h2 tags     function get_h2($file){     $h1tags = preg_match_all(&#8220;/(</h1>
<h2>)(\w.*)(&lt; \/h2&gt;)/isxmU&#8221;,$file,$patterns);     $res = array();     array_push($res,$patterns[2]);     array_push($res,count($patterns[2]));     return $res; }   // retrieve all h3 tags function get_h3($file){     $h1tags = preg_match_all(&#8220;/(</h2>
<h3>)(\w.*)(&lt; \/h3&gt;)/ismU&#8221;,$file,$patterns);     $res = array();     array_push($res,$patterns[2]);     array_push($res,count($patterns[2]));     return $res; }   // retrieve all h4 tags function get_h4($file){     $h1tags = preg_match_all(&#8220;/(</h3>
<h4>)(\w.*)(&lt; \/h4&gt;)/ismU&#8221;,$file,$patterns);     $res = array();     array_push($res,$patterns[2]);     array_push($res,count($patterns[2]));     return $res; }   // retrieve all h5 tags function get_h5($file){     $h1tags = preg_match_all(&#8220;/(</h4>
<h5>)(\w.*)(&lt; \/h5&gt;)/ismU&#8221;,$file,$patterns);     $res = array();     array_push($res,$patterns[2]);     array_push($res,count($patterns[2]));     return $res; }   // retrieve all h5 tags function get_h6($file){     $h1tags = preg_match_all(&#8220;/(</h5>
<h6>)(\w.*)(&lt; \/h6&gt;)/ismU&#8221;,$file,$patterns);     $res = array();     array_push($res,$patterns[2]);     array_push($res,count($patterns[2]));     return $res; }   // retrieve p tag contents function get_p($file){     $h1tags = preg_match_all(&#8220;/(</h6>
<p>)(\w.*)(&lt; \/p&gt;)/ismU&#8221;,$file,$patterns);     $res = array();     array_push($res,$patterns[2]);     array_push($res,count($patterns[2]));     return $res; }   // retrieve names of links function get_a_content($file){     $h1count = preg_match_all(&#8220;/(<a>)(\w.*)(&lt; .*&gt;)/ismU&#8221;,$file,$patterns);     return $patterns[2]; }   // retrieve link destinations function get_a_href($file){     $h1count = preg_match_all(&#8216;/(href=&#8221;)(.*?)(&#8220;)/i&#8217;,$file,$patterns);     return $patterns[2]; }   // get count of href&#8217;s function get_a_href_count($file){     $h1count = preg_match_all(&#8216;/&lt; (a.*) href=\&#8221;(.*?)\&#8221;(.*)/&#8217;,$file,$patterns);     return count($patterns[0]); }   //get all additional tags inside a link tag function get_a_additionaltags($file){     $h1count = preg_match_all(&#8216;/&lt; (a.*) href=&#8221;(.*?)&#8221;(.*)&gt;(.*)(&lt; \/a&gt;)/&#8217;,$file,$patterns);     return $patterns[3]; }   // retrieve span&#8217;s function get_span($file){     $h1count = preg_match_all(&#8216;/()(.*)(&lt; \/span&gt;)/&#8217;,$file,$patterns);     $res = array();     array_push($res,$patterns[2]);     array_push($res,count($patterns[2]));     return $res; }   // retrieve spans on the site function get_script($file){     $h1count = preg_match_all(&#8216;/(<br />
<script type="text/javascript">// < ![CDATA[
)(.*)(< \/script>)/imxsU',$file,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    return $res;
} 
 
// retrieve content of ul's
function get_ul($file){
    $h1count = preg_match_all('/(</p>
<ul \w*>)(.*)(< \/ul>)/ismxU',$file,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    return $res;
} 
 
//retrieve li contents
function get_li($file){
    $h1count = preg_match_all('/(</p>
<li \w*>)(.*)(< \/li>)/ismxU',$file,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    return $res;
} 
 
// retrieve page comments
function get_comments($file){
    $h1count = preg_match_all('/(<!--).(.*)(-->)/isU',$file,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    return $res;
} 
 
// retrieve all used id's on the page
function get_ids($file){
    $h1count = preg_match_all('/(id="(\w*)")/is',$file,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    return $res;
} 
 
// retrieve all used classes ( inline ) of the document
function get_classes($file){
    $h1count = preg_match_all('/(class="(\w*)")/is',$file,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    return $res;
} 
 
// get the meta tag contents
function get_meta_content($file){
    $h1count = preg_match_all('/(<meta )(.*="(.*)").\/>/ix',$file,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    return $res;
} 
 
// get inline styles
function get_styles($file){
    $h1count = preg_match_all('/(style=")(.*?)(")/is',$file,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    return $res;
} 
 
// get titles of tags
function get_tag_titles($file){
    $h1count = preg_match_all('/(title=)"(.*)"(.*)/',$file,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    return $res;
} 
 
// get image alt descriptions
function get_image_alt($file){
    $h1count = preg_match_all('/(alt=.)([a-zA-Z0-9\s]{1,})/',$file,$patterns);
    $res = array();
    array_push($res,$patterns[2]);
    array_push($res,count($patterns[2]));
    return $res;
} 
 
// retrieve images on the site
function get_images($file){
    $h1count = preg_match_all('/(
 
Usage Example
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></p>
<style type="text/css">
<!--
body {
    font: 11px Arial, Helvetica, sans-serif;
}
.info {
    color: #99CC00;
    font-weight: bold;
}
.notice {
    color: #FF66CC;
}
.error {
    color: #990000;
    font-weight: bold;
}
-->
</style>
<p></head> 
 
<body></p>
<form action="" method="post" enctype="application/x-www-form-urlencoded" name="form1">
<input name="url" type="text" />
<input name="submit" type="submit" value="submit" /></form>
<p> 
< ?<a href="http://www.cristiansannino.it/tag/php" class="st_tag internal_tag" rel="tag" title="Post taggati con php">php</a> if(isset($_POST['submit']) &#038;&#038; $_POST['submit'] == "submit"){
    $resultArray = array();
    $url = htmlentities(strip_tags($_POST['url']));
    include("tagretrieval.<a href="http://www.cristiansannino.it/tag/php" class="st_tag internal_tag" rel="tag" title="Post taggati con php">php</a>"); 
 
    if(strpos($url,"http",0) === false){
        $url = "http://$url";
    } 
 
    echo "<img src=\"http://www.artviper.net/screenshots/screener.php?url=$url&amp;h=180&amp;w=240&amp;sdx=1024&amp;sdy=768\" alt=\"$url\" style=\"margin:20px\" />"; 
 
    $file = file_get_contents($url);
    $doctype  = get_doctype($file);
    $keywords = get_keywords($file);
    $css = get_external_css($file);
    $h1 = get_h1($file);
    $h2 = get_h2($file);
    $h3 = get_h3($file);
    $p  = get_p($file);
    $title = get_doc_title($file);
    $links = get_a_href($file);
    $href_add = get_a_additionaltags($file);
    $images = get_images($file);
    $styles = get_styles($file);
    $ids = get_ids($file);
    $classes = get_classes($file); 
 
    echo"</p>
<h1>Document properties</h1>
<p>";
    // get doctype
    if(!empty($doctype[0])){
        $doctype = preg_replace("/Valid doctype: $doctype";
    }else{
        $doctype = "No doctype specified";
        echo $doctype;
    } 
 
    // get doc title
    if(!empty($title[0])){
        $title[0] = preg_replace("/Title found: $title[0]< ";
    }else{
        echo"<br/></p>
<div class=\"error\">Page does not have a title</div>
<p>";
    } 
 
    // get external references CSS files
    // get h1 tags
    if($css[1] != 0){
        echo "external CSS found: $css[1]</p>
<ul>";
        foreach($css[0] as $key => $val){
            echo "</p>
<li>" . htmlentities($val) . "</li>
<p>";
        }
        echo "</ul>
<p>";
    }else{
        echo "</p>
<div class=\"error\">No external CSS found</div>
<p>";
    } 
 
    // get keywords
    if(!empty($keywords[0])){
        echo"Keywords found: $keywords[0]";
    }else{
        echo "</p>
<div class=\"error\">No keywords specified</div>
<p>";
    } 
 
    echo"</p>
<h1>Content properties</h1>
<p>";
    // get h1 tags
    if($h1[1] != 0){
        echo "H1 Tags found: $h1[1]</p>
<ul>";
        foreach($h1[0] as $key => $val){
            echo "</p>
<li>" . htmlentities($val) . "</li>
<p>";
        }
        echo "</ul>
<p>";
    }else{
        echo "</p>
<div class=\"error\">No H1 Tags found</div>
<p>";
    }
    // get h2 tags
    if($h2[1] != 0){
        echo "H2 Tags found: $h2[1]</p>
<ul>";
        foreach($h2[0] as $key => $val){
            echo "</p>
<li>" . htmlentities($val) . "</li>
<p>";
        }
        echo "</ul>
<p>";
    }else{
        echo "</p>
<div class=\"error\">No H2 Tags found</div>
<p>";
    } 
 
    // get h3 tags
    if($h3[1] != 0){
        echo "H3 Tags found: $h3[1]</p>
<ul>";
        foreach($h3[0] as $key => $val){
            echo "</p>
<li>" . htmlentities($val) . "</li>
<p>";
        }
        echo "</ul>
<p>";
    }else{
        echo "</p>
<div class=\"error\">No H3 Tags found</div>
<p>";
    }
    // get p tags
    if($p[1] != 0){
        echo "p Tags found: $p[1]</p>
<ul>";
        foreach($p[0] as $key => $val){
        echo "</p>
<li>" . htmlentities($val) . "</li>
<p>";
        }
        echo "</ul>
<p>";
    }else{
        echo "</p>
<div class=\"error\">No p Tags found</div>
<p>";
    } 
 
    echo "</p>
<h1>Link structure</h1>
<p>"; 
 
    if(!empty($links[0])){
        echo "Links found:</p>
<ul>";
        foreach($links as $key => $val){
            $val = preg_replace("/" . htmlentities($val) . "</ul>
<p></body></html></li>
<p>";
        }
        echo "</ul>
<p>";
    }else{
        echo "</p>
<div class=\"error\">No Links found</div>
<p>";
    } 
 
    if(!empty($href_add[0])){
        echo "href additional tags:</p>
<ul>";
        foreach($href_add as $key => $val){
        $val = preg_replace("/" . htmlentities($val) . "";
        }
        echo "</ul>
<p>";
    }else{
        echo "</p>
<div class=\"error\">No additional styles for href found</div>
<p>";
    } 
 
    echo "</p>
<h1>Images</h1>
<p>"; 
 
    if(!empty($images[0])){
        echo "images:</p>
<ul>";
        foreach($images[0] as $key => $val){
        $val = preg_replace("/" . htmlentities($val) . "";
        }
        echo "</ul>
<p>";
    }else{
        echo "No images found";
    } 
 
    echo "</p>
<h1>Styles, ID's &amp; Classes</h1>
<p>"; 
 
    if(!empty($ids[0])){
        echo "ID's:</p>
<ul>";
        foreach($ids[0] as $key => $val){
        $val = preg_replace("/" . htmlentities($val) . "";
        }
        echo "</ul>
<p>";
    }else{
        echo "No ID's found";
    } 
 
    if(!empty($classes[0])){
        echo "classes:</p>
<ul>";
        foreach($classes[0] as $key => $val){
        $val = preg_replace("/" . htmlentities($val) . "";
        }
        echo "</ul>
<p>";
    }else{
        echo "No classes found";
    } 
 
    if(!empty($styles[0])){
        echo "inline styles:</p>
<ul>";
        foreach($styles[0] as $key => $val){
        $val = preg_replace("/" . htmlentities($val) . "";
        }
        echo "</p>
<div class=\"notice\">Your document uses inline styles. If applicable, try to put them into a separate CSS file and restyle them to ID's or CLASSES.</div>
</ul>
<p>";
    }else{
        echo "No inline styles used";
    }
}
?>
// ]]&gt;</script><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cristiansannino.it/prendere-i-tag-da-una-pagina-web-con-php-e-preg_match.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

