Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 187 Pomógł: 0 Dołączył: 24.12.2006 Ostrzeżenie: (0%)
|
chcę aby preg_replace zamienił to co znajdzie na to co zwróci funkcja
funkcja "tourl()" zamiast dostawać wartości trafione dostaje "\\1" , a mi chodzi o to że ma dostać to co pasuje następnie funkcja to przerabia i pregmatch zamienia na to co zwróciła funkcja. Nie działa ... |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%)
|
W nawiasach kwadratowych podaje się klasę znaków do wyszukiwania, więc wyrażenie [^<a href] nie oznacza:
- dopasuj wszystkie znaki aż do napotkania "<a href" tylko: - dopasuj wszystkie znaki, które nie są: "<", "a", " ", "h", "r", "e", "f" A co do pierwszego problemu, to wyrażenia regularne są domyślnie 'zachłanne', czyli będą się starały dopasować jak najwięcej znaków tylko się da, ale żeby pasowało do wzorca. Używając znaku pytajnika możemy zamienić wyrażenie na 'niezachłanne', czyli starające się dopasować jak najmniej znaków tylko się da, ale żeby pasowało do wzorca. Tak więc wyrażenie: <table>(.*)</table> dopasuje: Cytat asfsa <table> asdasd</table> dsfds <table> saf saf </table> safsa <table> sad sa asfdsad </table> asdsad natomiast wyrażenie: <table>(.*?)</table> dopasuje: Cytat asfsa
<table> asdasd</table> dsfds <table> saf saf </table> safsa <table> sad sa asfdsad </table> asdsad |
|
|
|
lopez86 [PHP] preg_replace 18.04.2007, 12:08:27
siemakuba Po pierwsze, musisz dodać modifier e, aby skorzyst... 18.04.2007, 12:24:10
lopez86 Dzięki - mam odrazu pytanko gdzie można poczytać o... 18.04.2007, 12:34:23
siemakuba Najlepiej chyba w manualu zacząć - http://pl.php.n... 18.04.2007, 13:40:26
lopez86 Nie będę zaczynać nowego tematu bo mam kolejne pyt... 18.04.2007, 16:47:03
lopez86 Dzięki za pomoc szczególnie dla Kicok bo tego nie ... 22.04.2007, 10:52:51 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 23:28 |