Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: szablonik
Forum PHP.pl > Forum > PHP
maggot
Kod
$szablon = '<table width=400>

<tr>

    <td><font size=1 color=gray>||R1||</font> - <B>||strtoupper(R2)||</B></td>

</tr>

<tr>

    <td style="text-align: justify"><font face=verdana size=2><DD>||formatuj(R3)||</td>

</tr>

<tr>

    <td align=right><a href="mailto:||R5||">||R4||</a></td>

</tr>

</table>'


napisalem sobie taki szablonik i chcialbym zeby sie wykonywal
tzn. R* zamienial na odpowiednie zmienne (tu problemu nie ma),
ale chcialbym zeby wykonywal tez odpowiednie funkcje np.
||strtoupper(R2)|| niech w to miejsce wstawi odpowiednia zmienna przetworzana przez funkcje 'strtoupper'

probuje cos kombinowac ze eregi_replace i eval ale mi nie wychodzi.
moze mi ktos pomoc
kurtz
Cytat
ale chcialbym zeby wykonywal tez odpowiednie funkcje np.
||strtoupper(R2)|| niech w to miejsce wstawi odpowiednia zmienna przetworzana przez funkcje 'strtoupper'

preg_replace z modyfikatorem /e.

jesli chcesz zrobic sam to wystarczy tyle wiedziec ;)
Seth
Polecam gotowy skrypt wzorcow: smarty.php.net

P.S. thx hyper winksmiley.jpg
kurtz
Cytat
Polecam gotowy skrypt wzorcow: smarty.php.net

1. nie skrypt, a mechanizm
2. nie jestem pewny czy jest potrzebny. maggot najwyrazniej tworzy cos na wlasne potrzeby. nie potrzeba miec zawsze pod reka bazooki zeby zabic muche ;)
Seth
Zabijajac muche bazuka masz pewnosc, ze zginela (metafora)
maggot
Cytat
preg_replace z modyfikatorem /e.

jesli chcesz zrobic sam to wystarczy tyle wiedziec winksmiley.jpg


nie bede sie upieral zeby to robic samemu tongue.gif

jak ktos wie to niech napisze, albo poda jakis wyczerpujacy (z wieloma przykladami) artykul o wyrazeniach regulanych
Seth
Cytat
I must've read 50 regular expression tutorials and understood nothing from each. I finally worked them out through playing around and looking at other people's examples. I wrote this to summarise and clarify things. I find it helps as a quick lookup reference:

^ Start of String
$ End of string

n* Zero or more of 'n'
n+ One or more of 'n'
n? A possible 'n'

n{2} Exactly two of 'n'
n{2,} At least 2 or more of 'n'
n{2,4} From 2 to 4 of 'n'

() Parenthesis to group expressions
(n|a) Either 'n' or 'a'

. Any single character

[1-6] A number between 1 and 6
[c-h] A lower case character between c and h
[D-M] An upper case character between D and M
[^a-z] Absence of lower case a to z
[_a-zA-Z] An underscore or any letter of the alphabet

^.{2}[a-z]{1,2}_?[0-9]*([1-6]|[a-f])[^1-9]{2}a+$

A string beginning with any two characters
Followed by either 1 or 2 lower case alphabet letters
Followed by an optional underscore
Followed by zero or more digits
Followed by either a number between 1 and 6 or a character between a and f (Lowercase)
Followed by a two characters which are not digits between 1 and 9
Followed by one or more n characters at the end of a string
 
 
jolyon at mways dot co dot uk
03-Feb-2002 09:43  
 
The postcode example listed here isn't correct - it won't correctly detect Inner London postcodes (and others?) with an extra letter, eg:  

EC1M 3AA  

I've also ammended it so that the space is optional:  

if(eregi('^[A-Z]{1,2}[0-9]{1,2}[A-Z]? ?[0-9][A-Z]{2}$',$postcode)  
{  
print "You have a valid postcode!";  
}


Jak znajde wiecej to podesle.
kurtz
Cytat
Cytat

preg_replace z modyfikatorem /e.

jesli chcesz zrobic sam to wystarczy tyle wiedziec ;)


nie bede sie upieral zeby to robic samemu :P

a moze chociaz sprobujesz? leniom nie pomagam. papa

Cytat
jak ktos wie to niech napisze, albo poda jakis wyczerpujacy (z wieloma przykladami) artykul o wyrazeniach regulanych

rusz dupcie i sam sobie znajdz.
kurtz
Cytat
Cytat
I must've read 5...

a nie lepiej poswiecic chwile i po prsotu przeczytac perldoc perlre ?
Seth
Ten cytat znalazlem w komentarzach bodajze do funkcji eregi(). Niestety wiekszosco osob wogole ich nie czyta, a to wg. mnie jest bledem smile.gif

Maggot: poszukaj o wyrazeniach regularnych na zend.com i wdvl.com tam napewno cos bedzie bo swojego czasu przeszedlem przez ten temat wzdluz i wszerz tongue.gif i na tych stronach bylo wiele do czytania... oj wiele rolleyes.gif
maggot
doszedlem do czegosc takiego:

Kod
preg_replace("/||([_a-zA-Z]+).(.+)||/e", "eval('echo 1("2");')", $c);


i prawie dziala, tylko nie wiem czemu ten przetworzony tekst pojawia sie na poczatku, a nie w odpowiednim miejscu w szablonie
dragossani
Zgadzam się z Seth'em w sprawie Smarty. Lepiej mieć zawsze pod ręką bazookę w razie jakby za muchą czaiło się coś większego. :wink: Pojawią się jakieś zmiany w projekcie, nagle okaże się, że potrzebne są dodatkowe rozwiązania (czyli za muchą czaił się niedźwiedź) i bazooka jak znalazł. biggrin.gif
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.