Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> znaki & # lub ; w wyrazeniach regularnych - problem
grandman
post 21.08.2006, 18:23:07
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.02.2006

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


Mam problem z jednym wyrazeniem regularnym.

  1. <?php
  2. $htmltranslation = get_html_translation_table(HTML_ENTITIES);
  3. $name1 = strtr($name1, $htmltranslation);
  4.  
  5. if(!ereg(" TU PROSZE O POMOC Z WYRAZENIEM REGULARNYM ", $name1))
  6. {
  7.  echo(blad...");
  8.  exit;
  9. }
  10.  
  11. echo("wszystko OK");
  12. exit;
  13. ?>


tlumacze o co chodzi,

$name1 bedzie zawierac wszystkie litery ktore podal uzytkownik a reszte znakow html zamieni na np. nastepujace :

& # 229; - å
& # 230; - æ
& # 248; - ø
& # 197; - Å
& # 198; - Æ
& # 216; - Ø (miedzy & , # i 3-cyfrowaliczba nie ma spacji - bo forum tez zamienia od razu znaki html)

czyli po wpisaniu slowa Øystein $name1 bedzie mialo : "& # 216;ystein" (bez spacji - bo forum zle wyswietla)

oki wiec teraz ja chce podstawic do ereg takie wyrazenie regularne ktore pozwoli mi na wprowadzenie do ciagu tych 6 znakow oraz A-Z i a-z

Czy ktos moze mi pomoc?
Po podstawieniu & #229;& #230;& #248; & #197;& #198;& #[a-zA-Z] (omincie spacje bo forum jak wpomnialem wczesniej formatuje i automatycznie tez zamienia) dziala to nieprawidlowo,
wiem ze gdzies na pewno jest blad.
Czy ciag np. & #230; w wyrazeniach regularnych jest traktowany tak samo jak wyraz KOT ? czy przeszkadza mu & lub # a moze ; ?
nigdzie nic nie znalazlem o tych znakach wiec wydawalo mi sie ze nie sa zabronione, uzywalem przed nimi backslasha ale nic z tego:/

prosze o pomoc
Go to the top of the page
+Quote Post
bendi
post 22.08.2006, 08:54:04
Post #2





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

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


Zapisz te znaki w systemie szesnastkowym jako \xKOD


--------------------
Go to the top of the page
+Quote Post
grandman
post 22.08.2006, 14:00:12
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.02.2006

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


A jakiej funkcji uzyc do tego bo jak poprostu wpisze string to html wyswietla przez & # xxx ; (bez spacji) gdzie xxx to liczba dziesietna.
Mam wpisac do tablicy te wszystkie znaki i zamienic je na hex a potem wyrazenie regularne ?
czy jest do tego jakas gotowa funkcja ?

czy od razu to sie da jakos zrobic bo nie wiem czy dobrze zrozumialem,
wiem ze wyr. regularne moga odczytywac liczby w HEX jako np. /xE6 - ale one nie przyjmuja znakow & # ;

Jesli mozesz to prosze o dokladniejsza odpowiedz
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 Wersja Lo-Fi Aktualny czas: 27.06.2025 - 20:44