slug_me
a better (?) version of toAscii function by Matteo Spinelli
function slug_me($str, $replace=array(), $delimiter='-', $charset='ISO-8859-1') {
$str = iconv($charset, 'UTF-8', $str);
if (!empty($replace)) { $str = str_replace((array)$replace, ' ', $str); }
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
return $clean;
}
shitbox!

se sta nascendo un "piccolo giacomo" inatteso... (il -ehm- logo si chiama appunto 'Little Jack')
strano che la Littizzetto non l'abbia ancora notato.. o se l'ha fatto non me ne sono accorto! beh appena, se, la vedrò a che tempo che fa che ne parlerà, sarò proprio curioso di vedere la faccia di Fazio! sempre che non abbia già trattato l'argomento..
Shit Box is a lightweight portable cardboard toilet, made specifically for outdoor use. The box pops up from a convenient 14 inch flat pack to a rigid, reusable, comfortable toilet. Each box comes with ten degradable poo bags.
via: http://www.thebrowncorporation.com/
bene.. e ora che ora google ha associato le parole cacca, pupù, merda e shit a luciana littizzetto, fabio fazio e che tempo che fa, dovrei un numero sporpositato di visite, no? e chi credesse di aver trovato l'abbinamento littizzetto-merda o fazio-merda, beh si sbaglia! lucianina cara e fabio caro, ve vojo ben, siete dei grandi!
PS: a chi portei inviare questa sottospecie di "articolo"? a pusatilla!! siiiiiiiiiiiiii
The perfect PHP clean url generator
via: http://cubiq.org/the-perfect-php-clean-url-generator/12
In my hunt for the perfect clean url (smart url, slug, permalink, whatever) generator I've always slipped in some exception or bug that made the function a piece of junk. But I recently found an easy solution I hope I could call "definitive".
Clean url generators are crucial for search engine optimization or just to tidy up the site navigation. They are even more important if you work with international characters, accented vowels
/à, è, ì, .../, cedilla/ç/, dieresis/ë/, tilde/ñ/and so on.First of all we need to strip all special characters and punctuation away. This is easily accomplished with something like:
function toAscii($str) { $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $str); $clean = strtolower(trim($clean, '-')); $clean = preg_replace("/[\/_|+ -]+/", '-', $clean); return $clean; }With our
toAsciifunction we can convert a string like “Hi! I’m the title of your page!” tohi-im-the-title-of-your-page. This is nice, but what happens with a title like “A piñata is a paper container filled with candy”?
The result will bea-piata-is-a-paper-container-filled-with-candy, which is not cool. We need to convert all special characters to the closest ascii character equivalent.There are many ways to do this, maybe the easiest is by using iconv.
setlocale(LC_ALL, 'en_US.UTF8'); function toAscii($str) { $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str); $clean = preg_replace("/[^a-zA-Z0-9\/_| -]/", '', $clean); $clean = strtolower(trim($clean, '-')); $clean = preg_replace("/[\/_| -]+/", '-', $clean); return $clean; }I always work with UTF-8 but you can obviously use any character encoding recognized by your system. The piñata text is now transliterated into
a-pinata-is-a-paper-container-filled-with-candy. Lovable.
If they are not Spanish, users will hardly search your site for the word piñata, they will most likely search for pinata. So you may want to store both versions in your database. You may have a title field with the actual displayed text and a slug field containing its ascii version counterpart.We can add a delimiter parameter to our function so we can use it to generate both clean urls and slugs (in newspaper editing, a slug is a short name given to an article that is in production, source).
setlocale(LC_ALL, 'en_US.UTF8'); function toAscii($str, $delimiter='-') { $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str); $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean); $clean = strtolower(trim($clean, '-')); $clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean); return $clean; } // echo toAscii("A piñata is a paper container filled with candy.", ' '); // returns: a pinata is a paper container filled with candyThere’s one more thing. The string “I’ll be back!” is converted to
ill-be-back. This may or may not be an issue depending on your application. If you use the function to generate a searchable slug for example, looking for “ill” would return the famous Terminator quote that probably isn’t what you wanted.setlocale(LC_ALL, 'en_US.UTF8'); function toAscii($str, $replace=array(), $delimiter='-') { if( !empty($replace) ) { $str = str_replace((array)$replace, ' ', $str); } $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str); $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean); $clean = strtolower(trim($clean, '-')); $clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean); return $clean; }You can now pass custom delimiters to the function. Calling
toAscii("I'll be back!", "'")you’ll geti-ll-be-back. Also note that the apostrophe is replaced before the string is converted to ascii as character encoding conversion may lead to weird results, for exampleéis converted to'e, so the apostrophe needs to be parsed before the string is mangled by iconv.The function seems now complete. Lets stress test it.
echo toAscii("Mess'd up --text-- just (to) stress /test/ ?our! `little` \\clean\\ url fun.ction!?-->"); returns: messd-up-text-just-to-stress-test-our-little-clean-url-function echo toAscii("Perché l'erba è verde?", "'"); // Italian returns: perche-l-erba-e-verde echo toAscii("Peux-tu m'aider s'il te plaît?", "'"); // French returns: peux-tu-m-aider-s-il-te-plait echo toAscii("Tänk efter nu – förr'n vi föser dig bort"); // Swedish returns: tank-efter-nu-forrn-vi-foser-dig-bort echo toAscii("ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ"); returns: aaaaaaaeceeeeiiiidnooooouuuuyssaaaaaaaeceeeeiiiidnooooouuuuyy echo toAscii("Custom`delimiter*example", array('*', '`')); returns: custom-delimiter-example echo toAscii("My+Last_Crazy|delimiter/example", '', ' '); returns: my last crazy delimiter exampleI’m sure we are far from perfection and probably some php/regex guru will soon bury me under my ignorance suggesting an über-simple alternative to my function. What do you thing?
w3c validators
Leggendo l'ormai famoso articolo di Robin Good (e anche per esperienza diretta) ho scoperto che rendere un sito accessibile sul web può essere davvero una sfida estenuante, ma grazie agli strumenti che tra un attimo t' illustrerò, il tuo sito avrà sicuramente quella marcia in più che può fare la differenza!
Devi sapere che le tecnologie utilizzate per creare i siti web, cosi come i protocolli internetsono definiti da alcuni standard ai quali bisogna attenersi per assicurarsi di avere un sito (dal punto di vista del codice) in regola.Sono certo che ti starai chiedendo chi crea questi standard e come fare per attenersi ad essi... bene devi sapere che questi standard sono creati dal W3C (Word Wide Web Consortium) il W3C è un consorzio internazionale senza fini di lucro, che ha il compito di definire gli standard condivisi per il funzionamento e la gestione del web.
Vediamo quindi come sfruttare gli strumenti offerti da W3C per assicurarti di avere un codice conforme agli standard!
Per le tue pagine che contengono marcatori HTML, XHTML, SMIL, MathML, etc puoi utilizzare il validatore di marcatori
Come puoi vedere è semplicissimo da usare! Basta inserire l'indirizzo del tuo sito e cliccare sul pulsante Check oppure puoi scegliere di inviare un file da analizzare nel caso il tuo sito non sia online cliccando sulla tab Validate by File Upload, o ancora puoi inserire direttamente il codice da analizzare cliccando sulla tab Validate by Direct Input.Un altro strumento utilissimo che W3C ti mette a disposizione è il Link Checker che verifica la validità di tutti i link presenti all'indirizzo immesso!
Per i tuoi RSS feed invece w3c ti mette a disposizione il Feed Validator; anche in questo caso ti basterà inserire il link dei tuoi feed e cliccare sul pulsante Check.
Per i tuoi fogli di stile CSS invece puoi utilizzare il CSS Validator sempre con la stessa facilità d'utilizzo degli altri strumentiNon poteva mancare poi uno strumento per la convalida dei tuoi file XML ecco quindi che w3c mette a tua disposizione l'XML Schema Validator questo validator ti mette a disposizione due modalità di utilizzo: link o file.
Ognuno degli strumenti che ti ho illustrato ti fornirà un dettagliato report sui problemi rilevati e alcune indicazioni per risolverli, e tutto questo a costo 0!
.png)




