Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyrazenie regularne
Forum PHP.pl > Forum > PHP
stal-sw
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.
Derf
  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.....
bendi
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
stal-sw
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
Kreton
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 " _ "
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.