![]() |
![]() |
-Trejder- |
![]() ![]()
Post
#1
|
Goście ![]() |
Witam serdecznie!
Potrzebuję prostej procedury, która w zadanym łańcuchu tekstu wszystkie wystąpienia danego słowa oznaczy w jakiś sposób (na przykład zmieni im tło na żółte). W tym celu napisałem taką banalną procedurę:
Zastosowałem str_ireplace(), aby wyszukiwał wszystkie wystąpienia zadanego wyrazu, niezależnie od tego, co użytkownik zapoda jako $what. To rozwiązanie działa, ale nie do końca tak, jakbym tego chciał. Mi zależy na tym, żeby funkcja służąca do podkreślania wskazanych wyrazów odszukała je wszystkie (niezależnie od wielkości liter - tak, jak robi to teraz) ale żeby przy oznaczaniu nie zmieniała wielkości liter w odnalezionych wyrazach. Na przykładzie - żeby było jaśniej: Jeśli użytkownik poda "TEST", to powyższa funkcja znajdzie mi zarówno "test", "Test", "TEST" i każdą inną kombinację. Ale przy oznaczaniu jej (w powyższy sposób) wstawi to, co użytkownik podał - czyli w tym przypadku "Test". Jeśli odnaleziony wyraz będzie w środku zdania, to efekt będzie dość żałosny, np.: "Przeprowadziliśmy gruntowny TEST programu". Mi zaś chodzi o to, aby funkcja ta odnalazła wszystkie możliwe kombinacje liter, ale już przy podkreślaniu odnalezionych wyrazów pozostawiła taką wielkość liter, jaką odnalazła. Czyli w zdaniu "Przeprowadziliśmy gruntowny test programu" wyraz "test" ma mieć tło żółte i niezmienioną wielkość liter niezależnie od tego, czy użytkownik wpisze "test", "Test", "TEST", czy może "TeSt". Coś mi się wydaje, że do tego trzeba napisać trochę bardziej rozbudowaną funkcję szukająco-zamieniającą i nie da się tego zrobić w jednej linijce, jak ja próbowałem powyżej. Z góry dziękuję za wszelką pomoc w tej sprawie, Trejder |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
może spróbuj tego
|
|
|
-Trejder- |
![]()
Post
#3
|
Goście ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:17 |