Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Proste wyrażenie regularne, konkretny przykład
Forum PHP.pl > Forum > PHP
MaKaO
Witam,
Szukałem na forum konkretnych przykładów, ale nie znalazłem tego, co chciałem, a przerobić nie potrafie :wink: Potrzebuje wyrażenie, które będzie sprawdzać czy zmienna zawiera: A-Z, a-z, 0-9 i myślniki i nic więcej, bo to ma być sprawdzenie aliasu, który ma się zaraz założyć... Do tego ważne, aby pierwszy i ostatni znak zmiennej nie był to myślnik, bo jak wiecie, alias nie może mieć pierwszego, ani ostatniego myślnika... :wink:
froth
pobaw sie funkcja ereg() i eregi()
MaKaO
Rotfl, ja wiem, jak się korzysta z wyrażeń regularnych tylko nie wiem jak je napisać... ;]
Holyboy
Cytat
czy zmienna zawiera: A-Z, a-z, 0-9 i myślniki

ereg("[a-zA-Z0-9-]", $zmienna);
cos takiego?
froth
[php:1:1095fe67e3]<?php
if(eregi('^[-]+.[a-zA-z0-9-.]+.[-]+$', $alias))
{
echo" Na poczatku i koncu nie moga wystepowac -";
}
elseif(eregi('^[a-zA-z0-9-.]+.[a-zA-z0-9-.]+$', $alias))
{
echo"wsyztsko dobrze";
}

?>[/php:1:1095fe67e3]
Nie wiem czy dokladnie oto Ci chodzilo i nie mam pewnosci tez czy nie zrobilem jakiegos bledu.MOzna tez zastosowac ereg_replace() aby zmienic owe "-" na cos innego
MaKaO
Froth, dzięki sprawdze to. :wink:

Holyboy, chyba nie masz zbyt dużego pojęcia o wyrażeniach regularnych tak jak ja, ponieważ zapomniałeś o ^ i $ ;]
froth
zeby to wpelni dzialalo trzeba zrobic wiecej warunkow...
MaKaO
Jakich warunków?
froth
To co wczesniej napisalem to dziala ale nie na wsyztsko... trtzeba zrobic kilka warunkow ze ma wsywietlac blad dla: -costam.costam, costam.costam-, -.costam i tkaich kombinacji jest wiele.Ale mysle ze juz sobie poradzisz...
FiDO
Kod
^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$


Pozatym sugeruje skorzystac z funkcji preg_match zamiast ereg, bedzie szybciej.
[php:1:6e70ea394a]<?php
if (preg_match("/^[a-z0-9][a-z0-9-]*[a-z0-9]$/i", $text))
{
// ... pasuje
}
else
{
// ... błąd
}
?>[/php:1:6e70ea394a]
froth
to chyba nie dziala sad.gif(
FiDO
Chyba ? To podaj przyklad, ktory nie zadziala.
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.