Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyrazenie regularne, problem
stal-sw
post
Post #1





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 27.06.2002
Skąd: Stalowa Wola

Ostrzeżenie: (0%)
-----


Witam.
Mam narazie taki kodzik:
  1. <?php
  2. $tu= str_replace(" ","-",$st['tytul']);
  3. $news[$i]['tytul'] = strtr(strtolower(str_replace("_","-",$tu)), 'ążśźęćńół', 'azszecnol');
  4. ?>


Ogolnie chodzi mi o to aby napisac n bazie tego latwa w uzyciu funkcje, ktora:
zamieni tekst np. taki:" dzisiaj są czyjeś urodziny...! "- na tekst: " dzisiaj-sa-czyjes-urodziny "
Czyli ogolnie funkcja ta powinna:
- zmiec polskie znakie czyli śćęą itp na scea
- zamienic spacje na znak " - ", jesli trafia sie obok siebie 2 spacje - to musi zrobic z tego jeden znak " - "
- wyciac z tekstu: pytajniki, wykrzykniki, dwukropki, przecinki

Z gory dzieki za pomoc.


--------------------
Go to the top of the page
+Quote Post
Derf
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 22.06.2006

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function edit($str){
  3. if(empty($str)){return false;}else{
  4. $pl=array("ą","ć","ę","ó","ł","ń","ś","ź","ż","?","!",":",",",".");
  5. $pl_no=array("a","c","e","o","l","n","s","z","z","","","","","");
  6. $str=str_replace(" ","-",$str);
  7. $str=str_replace($pl,$pl_no,$str);
  8. return $str;
  9. }
  10. }
  11. echo edit("Jesteś Michał?");
  12. ?>


Nie wiem czy dobrze zrozumiałem.....

Ten post edytował Derf 22.06.2006, 15:20:34
Go to the top of the page
+Quote Post
bendi
post
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(Derf @ 22.06.2006, 16:16 ) *
Nie wiem czy dobrze zrozumiałem.....

Dobrze dobrze, ale można nieco prościej:
Cytat(stal-sw @ 22.06.2006, 15:30 ) *
- zmiec polskie znakie czyli śćęą itp na scea

  1. <?php /*wykryj kodowanie automatycznie, mozna wywalic na reczna detekcje */
  2. $s = mb_convert_encoding( $s, 'iso-8859-1', 'iso-8859-2', 'utf-8' );?>

Cytat(stal-sw @ 22.06.2006, 15:30 ) *
- zamienic spacje na znak " - ", jesli trafia sie obok siebie 2 spacje - to musi zrobic z tego jeden znak " - "


  1. <?php $s = preg_replace( '/ +/', '-', $s ); ?>


Cytat(stal-sw @ 22.06.2006, 15:30 ) *
- wyciac z tekstu: pytajniki, wykrzykniki, dwukropki, przecinki

  1. <?php $s = preg_replace( '/W/', '', $s ); ?>


Prawda, że prościej snitch.gif


--------------------
Go to the top of the page
+Quote Post
stal-sw
post
Post #4





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 27.06.2002
Skąd: Stalowa Wola

Ostrzeżenie: (0%)
-----


Witam.
Wielkei dzieki za pomoc.

Jest jednak jedno ale:
- jak mam np. takiego stringa:
" ABCspacja...spacjaXYZ" to wynik mi wyjdzie taki:
" ABC--XYZ "
A czy bylaby mozliwosc zrobic to tak ze jak wystapia obok siebie w spacje (tutaj akurat przez wyciacec " ... ") to aby dawalo tylko jeden znak " - " ?

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
Kreton
post
Post #5





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 20.02.2005

Ostrzeżenie: (0%)
-----


W dziale gdzie znajudują się klasy widziałem takową ,która tak własnie zmieniała ciągi znaków tylko zamiast "- " jest bodajże " _ "
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 05:45