🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: jak uproscic funkcje

#219826
From: Lemat
Date: Wed, 22 Jul 2009 13:54
45 lines
2258 bytes
albert wrote:

> 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

function przyjazny_string($string){
    $string = trim($string);
...

>  jak to co powy�ej zapisa� pro�ciej ???

może:
preg_replace('/[^a-zA-Z0-9]/','_',$string);
str_replace('__','_');

-- 
Pozdrawiam
Lemat
Technical Details
Message-ID: <h475pr$2qp$1@atlantis.news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
References: <h46fn3$5df$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: Lemat <#@lemat.priv.pl>
Newsgroups: pl.comp.lang.php
Subject: Re: jak uproscic funkcje
Followup-To: pl.comp.lang.php
Date: Wed, 22 Jul 2009 15:54:49 +0200
Organization: lemat.priv.pl
Lines: 47
Message-ID: <h475pr$2qp$1@atlantis.news.neostrada.pl>
References: <h46fn3$5df$1@news.onet.pl>
NNTP-Posting-Host: goblin.lemat.priv.pl
Mime-Version: 1.0
X-Trace: atlantis.news.neostrada.pl 1248270972 2905 79.190.106.118 (22 Jul 2009 13:56:12 GMT)
X-Complaints-To: usenet@news.neostrada.pl
NNTP-Posting-Date: Wed, 22 Jul 2009 13:56:12 +0000 (UTC)
User-Agent: KNode/0.99.01
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit