Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] - Fragment od $zmiennej do..
pieto
post
Post #1





Grupa: Zarejestrowani
Postów: 227
Pomógł: 1
Dołączył: 12.05.2002
Skąd: gdańsk

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


Witam
Jak mogę dostać fragment zminnej $plik_txt od momentu napotkania $model do napotkania pustej lini jeden enter lub wiecej

kombinuje i zachooelre nie wychodzi
napisalem tak:
  1. <?php
  2. $tmp_model = preg_replace("#(.*?)$model(.*?)n(.*?)nn#e", '"$2"."n"' , $plik_txt);
  3. ?>

ale nie lyka

lub
  1. <?php
  2. $tmp_model = substr($plik_txt,strpos($plik_txt,$model),strpos($plik_txt,"nn"));
  3. ?>


i tez nie lyka
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Nie działa ponieważ:
  1. <?php
  2. strpos($plik_txt,"nn")
  3. ?>

1. funkcja ta znajduje ci "pierwszą pustą linię w pliku", a nie "pierwszą pustą linię za $model"
2. trzecim parametrem funkcji substr() (jeśli jest dodatni) jest ilość znaków do wycięcia, a nie pozycja ostatniego znaku do wycięcia.

Poczytaj o strpos" title="Zobacz w manualu PHP" target="_manual i substr" title="Zobacz w manualu PHP" target="_manual i przeanalizuj ten kod:
  1. <?php
  2.  
  3. $model_pos = strpos($plik_txt, $model);
  4. if($model_pos === false) {
  5. //nie znaleziono $model w pliku
  6. }
  7. else
  8. {
  9. $nl_pos = strpos($plik_txt, PHP_EOL.PHP_EOL, $model_pos);
  10. $ilosc_znakow = ($nl_pos - $model_pos);
  11.  
  12. $tmp_model = substr($plik_txt, $model_pos, $ilosc_znakow);
  13. }
  14.  
  15. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 20:57