🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #219823

jak uproscic funkcje

#219823
From: albert
Date: Wed, 22 Jul 2009 07:39
28 lines
1994 bytes
witam, znalazem w necie funkcje do "czyszczenia" tytulu, ktory bedzie 
wyswietlany w pasku adresu. z przyczyn oczywistych tytul musi byc a-z, 0-9 a 
spacje zamieniam na _
ponizsza funkcja prawie spelnia te oczekiwania, ale prawie czyni duza 
roznice :) jest troche rozpasana, a po drugie jak na koncu stringa jest 
jakis znak spoza a-z wowczas robi na koncu _ a tego chcialbym uniknac. jak 
mozna ponizsza funkcje uproscic,poprawic ?

$string = "śżźćĄŚŻŹĆ sdfsd    !!!!  - - - __ __ asdffdfdś ";

function przyjazny_string($string){
   $string = strtr($string, 'ĘęÓ󥹌śŁłŹźŻżĆćŃń', 'EeOoAaSsLlZzZzCcNn');
   $string = strtr($string, 'ˇ|???Ľ','ASZasz');
   $string = preg_replace("'[[:punct:][:space:]]'",'_',$string);
   $string = strtolower($string);
   $znaki = '_';
   $powtorzen = 1;
   $string = preg_replace_callback('#(['.$znaki.'])\1{'.$powtorzen.',}#', 
create_function('$a', 'return substr($a[0], 0,'.$powtorzen.');'), $string);
   return $string;
}

echo przyjazny_string($string)

efekt:
szzcaszzc_sdfsd_asdffdfds_

jak usunąć to _ na końcu jak to co powyżej zapisać prościej ??? 
Technical Details
Message-ID: <h46fn3$5df$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: "albert" <qwerty1231@vp.pl>
Newsgroups: pl.comp.lang.php
Subject: jak uproscic funkcje
Date: Wed, 22 Jul 2009 09:39:15 +0200
Organization: http://onet.pl
Lines: 30
Message-ID: <h46fn3$5df$1@news.onet.pl>
Reply-To: "albert" <qwerty1231@vp.pl>
NNTP-Posting-Host: 78-131-216-98.tktelekom.pl
X-Trace: news.onet.pl 1248248355 5551 78.131.216.98 (22 Jul 2009 07:39:15 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Wed, 22 Jul 2009 07:39:15 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
X-RFC2646: Format=Flowed; Original
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit