Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zamienić twarde spacje?
sada
post 1.10.2009, 10:52:21
Post #1





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

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


[php][/php] Witam!

Straciłem 2 dni, przeczytałem chyba wszystko o twardych spacjach i nic..

1.Za pomocą funkcji file_get_contents wyciąłem część źródła strony i próbuję go obrabiać jako string.
2.W żródle występowały dwa rodzaje spacji  (twarda) i po prostu odstęp (miękka).
3. Podczas wyświetlania wyciętej części nadal występują dwa rodzaje spacji (w Wordzie jedna z nich oznaczona jest kropką a druga kółeczkiem) lecz nie ma już ( ).
4. Ta oznaczona kropką daje sie wykasować lub zamienić funkcją str_replace.
5. Tej , która w żródle była spacją twardą   a teraz jest (kólkiem) nie mogę ruszyć.
Próbowałem str_replace i ereg_replace , wydaje mi się , że teraz nie jest to już   , może jakiś znak UNICODE?

POmocy

Ten post edytował sada 1.10.2009, 10:55:50
Go to the top of the page
+Quote Post
!*!
post 1.10.2009, 11:02:52
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Podaj jakiś kod, jak to chcesz zamienić.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
sada
post 1.10.2009, 11:18:07
Post #3





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

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


R w

z tej linijki chciałbym usunąć znaki stojące przed R i po w.
Zauważyłem , że po wklejeniu tekstu do formularza , wysłania i odczytaniu wysłanego tekstu wszystkie spacje są jednego typu - cuda.






Niestety spacje zniknęły więc mogę tylko tłumaczyć opisowo

Próbowałem wszystkich kombinacji
  1. $text=str_replace(" ","",$text);
  2. $text=str_replace(' ',"",$text);
  3. $text=str_replace(" ",'',$text);
  4. $text=str_replace(' ','',$text);
  5.  


Ten post edytował sada 1.10.2009, 11:22:59
Go to the top of the page
+Quote Post
sada
post 1.10.2009, 11:26:47
Post #4





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

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


  1. $text=str_replace(" ","",$text);
  2. $text=str_replace(" ",'',$text);
  3. $text=str_replace(' ',"",$text);
  4. $text=str_replace(' ','',$text);
  5.  


Ten post edytował sada 1.10.2009, 11:31:40
Go to the top of the page
+Quote Post
!*!
post 1.10.2009, 11:33:48
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


  1.  
  2. $text = 'zxc       zxc';
  3.  
  4. $text=str_replace(' '," ",$text);
  5.  
  6. echo $text;
  7.  


U mnie to działa. poza tym, między "" nie dałeś spacji


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
elmozaur
post 1.10.2009, 11:34:03
Post #6





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

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


a trim() questionmark.gif?
Go to the top of the page
+Quote Post
sada
post 1.10.2009, 15:32:23
Post #7





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

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


!*!
-Bez spacji bo chciałem skasować.

-Wiem że działa gdy   widać w źródle strony .
Po potraktowaniu funkcją file_get_contents nie wygląda to jednak jak  ( w źródle nie występuje już ciąg znaków  ) i właśnie nie wiem jak ją nazwać by użyć np. str_replace.


-trim działa na brzegi stringa więc nawet nie próbuję

Ten post edytował sada 1.10.2009, 15:35:20
Go to the top of the page
+Quote Post
!*!
post 1.10.2009, 16:46:11
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


To określ się w końcu czego oczekujesz.

  1. $text = 'zxc       zxc';
  2.  
  3. $text=str_replace(' ',"",$text);
  4.  
  5. echo $text;


W powyższym przykładzie twarda spacja jest kasowana. Nie podałeś żadnego kodu, jakie pliki wczytujesz, oraz czy używasz jakiś innych funkcji.

Ten post edytował !*! 1.10.2009, 16:47:18


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
zegarek84
post 1.10.2009, 17:54:02
Post #9





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(sada @ 1.10.2009, 16:32:23 ) *
!*!
-Bez spacji bo chciałem skasować.

-Wiem że działa gdy   widać w źródle strony .
Po potraktowaniu funkcją file_get_contents nie wygląda to jednak jak  ( w źródle nie występuje już ciąg znaków  ) i właśnie nie wiem jak ją nazwać by użyć np. str_replace.


-trim działa na brzegi stringa więc nawet nie próbuję

jeśli kodowanie jest w utf-8 i nie widać dłuższego symbolu w znacznikach html to otwórz że sobie stronę w operze (nie mozilli bo poprawia źródła i nie wiem czy twarda spacja się zostaje ;p) i skopiuj ten znak - lub w ie i pokaż źródła (otworzy raczej w notatniku chyba, że inaczej skojarzyłeś programy ;p) - po skopiowaniu do zmiennej ten znak wstaw między znak pojedynczego apostrofu czyli '.... a jeśli to nie zadziała to poszukam Ci symbol znaku unikode (choć to nie problem i też powinieneś tą drogą iść ;p) - ale tylko pokaż jak wstawiasz i opisz jak kopiujesz bo większość nietypowych symboli da się tak obrobić ;p - pliki najlepiej miej kodowane w utf-- te ze skryptami php winksmiley.jpg


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
crackcomm
post 1.10.2009, 17:57:07
Post #10





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

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


Kod
$text = str_replace(' ', '', $text);
$text = str_replace(" ", '', $text);

Wklej.org wrzuć jakiś plik.

Ten post edytował crackcomm 1.10.2009, 17:59:43


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
sada
post 1.10.2009, 18:06:38
Post #11





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

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


  1. $data=file_get_contents($url);
  2. $data=strstr($data,$znak0);
  3. $data=substr($data,strlen($znak0));
  4. $data=strstr($data,$znak2);
  5. $data=substr($data,strlen($znak2));
  6. $rowraz = strpos ($data,$znak1);
  7. $text = substr($data,0,$rowraz);
  8. echo $text;
  9.  


Jeszcze raz :

1.Powyższy kod pobiera kod źródłowy ze strony o URL-u $url
2.W kodzie tej strony występują spacje zwykłe i twarde ( )
3.Po wykonaniu kodu tekst wygląda tak samo lecz w źródle nie ma już   w formie jawnej, nie są to też zwykłe spacje.
4. Po dodaniu do kodu przed ostatnim wierszem :
  1. str_replace(" ','',$text);// próbowałem w różnych kombinacjach apostrofu
  2.  


nie da się wykasować spacji , które w stronie $url były spacjami twardymi

5. Tą metodą kasowanie spacji zwykłych jest bez problemu

Pytanie :

Jak je wykasować, jak je nazwać w funkcji str_replace bo   nie działa?
Czy nadal są to spacje  , bo nie ma już w źródle strony oznaczeń  ?
W po skopiowaniu do Worda , włączając znaki specjalne przedstawione są jako kółka , a spacje zwykłe jako kropki.
Po naciśnięciu w Wordzie SPACE +Shift+Ctrl uzyskujemy kólko .
Go to the top of the page
+Quote Post
zegarek84
post 1.10.2009, 18:14:30
Post #12





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(sada @ 1.10.2009, 19:06:38 ) *
Jeszcze raz :
.....
Pytanie :...

jeszcze raz pytanie - czytałeś w ogóle mojego posta?? - dobre dobre - rozbrajasz mnie swoją bezradnością sciana.gif
edit - e nie - pewnie czekasz na gotowy kod winksmiley.jpg - choć kod już masz gotowy i wystarczy się dostosować do wskazówek thumbsupsmileyanim.gif

Ten post edytował zegarek84 1.10.2009, 18:15:58


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
sada
post 1.10.2009, 19:04:54
Post #13





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

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


Nie wystarczy bo twoim sposobem nie wychodzi też.

Zastosowałem się dokładnie do twoich wskazówek ale:

Po wklejeniu między apostrofy zwykłej spacji kod działa po wklejeniu znaku podejrzanego , że nie jest twardą spacją niestety nie.

Twój post przeczytałem rzeczywiście dopiero po napisaniu odpowiedzi na poprzedni tak czasami bywa w życiu, przykro mi że poczułeś się opuszczony i samotny, nie musisz się rozczulać moją bezradnością.
Go to the top of the page
+Quote Post
zegarek84
post 1.10.2009, 19:20:34
Post #14





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(sada @ 1.10.2009, 20:04:54 ) *
Twój post przeczytałem rzeczywiście dopiero po napisaniu odpowiedzi na poprzedni tak czasami bywa w życiu, przykro mi że poczułeś się opuszczony i samotny, nie musisz się rozczulać moją bezradnością.

dobre dobre ;p - ale dla przykładu może podaj źródło strony - nie kodu - zwykły link ;p - może zdążę Ci pomóc zanim się upiję bo dzisiaj małe święto a jak gdzieś się udzielam to choć czasem lekko "docinam" to nie o to chodzi - ale wystarczy mi że jedno z tego co napisałem się sprawdzi - bo pisałem jescze coś jeśli jednak skopiowanie znaku nie pomoże - a kopiować go można na wiele sposobów ;p - i większość znaków unikode zajmuje więcej niż jeden bajt ;p - mało tego - twarda spacja jak dobrze pamiętam mieści się jeszcze chyba w tablicy asci ;p

daj linka ;p


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
sada
post 1.10.2009, 19:27:04
Post #15





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

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


Na tej stronie przed pierwszą literą (Akordem ) C i za pierwszą literą (akordem) a jest znak o który chodzi.
Wklejając ten znak do strony ze znakami unicode wychodzi, że to zwykła spacja &#32.
Ale niestety to nieprawda.

http://wyszalnia.pl/polskie_piosenki/bajm/...S-NA-SWIAT/1508
Go to the top of the page
+Quote Post
zegarek84
post 1.10.2009, 21:37:49
Post #16





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


o rany - nie chce mi się bawić i to forum nie umożliwia udostępniania skryptu tak jakbym chciał ;p - więc załączam załącznik - przez tydzień będzie

i teraz zaprzecz że to nie działa - napisz, że spacja równa się spacji winksmiley.jpg - co innego się wyświetla ;p - napisz, żem tak nie pisał - a ledwo w klawiaturę teraz klikam ;p

gotowe rozwiązanie - da się inaczej z symbolem unikode ale chyba za dużo wypiłem ^^ - a pisałem, jak kopiować, i, że zadziała ;p
http://www.sendspace.pl/file/676aa0144dfa1626eb05593


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
sada
post 1.10.2009, 22:04:55
Post #17





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

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


Jesteś wielki , wyizolowałeś tą spację -POMÓGŁ,dzięki
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 Wersja Lo-Fi Aktualny czas: 28.04.2025 - 07:50