Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] wyciaganie fragmentu stringa
faran
post
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 2
Dołączył: 27.10.2006
Skąd: CyberRZECZYWISTOŚĆ

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


Witam,
jest jakas funkcja, ktora pozwoli wyciągnąć dany fragment zmiennej według poniższych informacji:
$zmienna="jakis tekst aa dla kazdego tekst przykladowej bb zmiennej";

Zalezy mi na tym, aby wyciagnac fragment zaczynajacy sie od: aa i i skonczyc ma bb czyli ma zosatc wyciagniety kawalek: dla kazdego tekst przykladowej

Wszystkie metody które pozwalają wyciągnąć string od określonego miejsca biorąc pod uwage liczbe znaków raczej odpadają. Robienie z tego tablicy i dzielic na zasadzie od aa do bb bylo by troche pracochlonne i chyba malo oplacalne.
Go to the top of the page
+Quote Post
RaNdaLLHD
post
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.06.2007

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


A próbowałeś wyrażeń regularnych? Np. preg_match" title="Zobacz w manualu PHP" target="_manual?


--------------------
. . .
Go to the top of the page
+Quote Post
domis86
post
Post #3





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


Nie baw sie w regexpy.

Uzyj kombinacji funkcji substr i strpos. Bedzie 100x prostsze i szybsze niz regexp.
Go to the top of the page
+Quote Post
faran
post
Post #4





Grupa: Zarejestrowani
Postów: 99
Pomógł: 2
Dołączył: 27.10.2006
Skąd: CyberRZECZYWISTOŚĆ

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


Czemu to sie tak dziwnie zachowuje:
mam takiego stringa:
Kod
$dane4='dfd  fgfdg  d<a href="index.php?kat=30" >Allegro</a> </li>  <li><a href="index.php?kat=38" >Bank</a> </li>  <li><a href="index.php?kat=13" >Biura turystyczne</a> </li>  <li><a href="index.php?kat=1" >Biznes</a> </li>  <li><a href="index.php?kat=36" >Budownictwo</a> </li>  <li><a href="index.php?kat=37" >Dla Biura</a> </li>  <li><a href="index.php?kat=35" >Dla Dzieci</a> </li>  <li><a href="index.php?kat=31" >Ebay</a> </li>  <li><a href="index.php?kat=32" >Edukacja</a> </li>  <li><a href="index.php?kat=40" >Elektronika</a> </li>  <li><a href="index.php?kat=41" >Forum Internetowe</a> </li>  <li><a href="index.php?kat=23" >GSM</a> </li>  <li><a href="index.php?kat=5" >Hobby</a> </li> <li><a href="index.php?kat=12">Hotele</a>';

nastepnie pisze co sie ma robic:
Kod
$koncowa=preg_replace(
    '/<a(.*)?href=(.*)?>(.*)?internet(.*)?<\/a>/ U',
    '<a $1 href=$2>$3<font color="red">internet</font>$4</a>', $dane4);
echo($koncowa);


Jeśli na początku stringa tam gdzie jest:
Kod
dfd  fgfdg  d<a h...
dopisze cokolwiek wtedy wszystko dziala. Jeśli natomiast na końcu stringa tam gdzie jest:
Kod
...t=12">Hotele</a>
dopisze cokolwiek to wtedy juz funkcja przestaje dzialac i wyświetla sie pusty ekran. Ciekawe jest ze nie zwraca zadnego błędu. Wnioskuje z tego ze długość stringa nie ma znaczenia, ale skąd bierze sie ten błąd ?.

Ten post edytował faran 2.10.2007, 18:47:18
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 Aktualny czas: 22.08.2025 - 00:29