Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenia regularne
kot5598
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 28.01.2012

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


Witam!

Problem dotyczy wyrazen regularnych. Czy jest możliwość pominięcia znaków końca linii przy odczytywaniu tekstów, tzn. np.: Wyrazenie odczytuje zawartosc od > do < i tekst to:

>
a
b
c
d
<
W tym momenie w tablicy otrzymam
a
b
c
d,
a chciałbym otrzymac zamiast tego: a b c d(bez enterów).


--------------------
http://www.diarynews.net
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
crocodillo
post
Post #2





Grupa: Zarejestrowani
Postów: 215
Pomógł: 44
Dołączył: 31.07.2011
Skąd: wrocław

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


  1. str_replace(PHP_EOL,' ',$jakisTamTekst);


a odnośnie wyr.reg. to musisz dokładniej napisać o co chodzi najlepiej z przykładem.
Go to the top of the page
+Quote Post
kot5598
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 28.01.2012

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


Chodzi o to, ze strona, z której pobieram tekst jest fatalnie zbudowana np.
<a href="">aaaaaa
aaa
aa
aa


aaa



</a>
I chodzi o to że jak pobieram tekst linku (miedzy <a> i </a>) to wychodzi tekst z duzą iloscia znakow konca linii, i kiedy chce to zapisac do txt, to jest za nic czytelne.


--------------------
http://www.diarynews.net
Go to the top of the page
+Quote Post
Majkelo23
post
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 17
Dołączył: 13.02.2012

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


  1. $zmienna = str_replace(array("\n"), array("\n<br />\n"), $zmienna);

questionmark.gif

Pokombinuj z tego co Ci podaliśmy, bo ja trochę nie rozumiem.

Ten post edytował Majkelo23 26.02.2012, 12:40:57
Go to the top of the page
+Quote Post
kot5598
post
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 28.01.2012

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


Chodzi mi o to jak otrzymac tekst bez enterow

<a>

Hello

World

</a>

I wynikiem ma byc:

Hello World

a nie

Hello

World


--------------------
http://www.diarynews.net
Go to the top of the page
+Quote Post
Majkelo23
post
Post #6





Grupa: Zarejestrowani
Postów: 226
Pomógł: 17
Dołączył: 13.02.2012

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


  1. $zmienna = str_replace(array("\n<br />\n"), array(" "), $zamiana);


Zobacz.

EDIT:

Sam sprawdziłem i działa:

  1. <?php
  2. $text = 'ala ma kota
  3. kot ma ale
  4. ale ja ali nie lubie
  5. i trudno ;]';
  6.  
  7. $zmienna = str_replace(array("\n<br />\n"), array(" "), $text);
  8.  
  9. echo $zmienna;
  10. ?>


EFEKT:

ala ma kota kot ma ale ale ja ali nie lubie i trudno ;]

Ten post edytował Majkelo23 26.02.2012, 12:57:47
Go to the top of the page
+Quote Post
kot5598
post
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 28.01.2012

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


To nic nie zmienia.

Moze jakies inne pomysly


--------------------
http://www.diarynews.net
Go to the top of the page
+Quote Post
Majkelo23
post
Post #8





Grupa: Zarejestrowani
Postów: 226
Pomógł: 17
Dołączył: 13.02.2012

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


Działa, działa...
Go to the top of the page
+Quote Post
kot5598
post
Post #9





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 28.01.2012

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


Rzeczywiscie usuwa entery w srodu tekstu, ale te na koncu i na poczatku zostaja, przez co w pliku zapisuje sie tekst co 3 linijki


--------------------
http://www.diarynews.net
Go to the top of the page
+Quote Post
Majkelo23
post
Post #10





Grupa: Zarejestrowani
Postów: 226
Pomógł: 17
Dołączył: 13.02.2012

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


Pokaż cały ten kod.
Go to the top of the page
+Quote Post
kormichu
post
Post #11





Grupa: Zarejestrowani
Postów: 4
Pomógł: 2
Dołączył: 26.02.2012

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


Gotowy filtr z Zend Frameworka:
Kod
class Zend_Filter_StripNewlines implements Zend_Filter_Interface
{

    /**
     * Defined by Zend_Filter_Interface
     *
     * Returns $value without newline control characters
     *
     * @param  string $value
     * @return string
     */
    public function filter ($value)
    {
        return str_replace(array("\n", "\r"), '', $value);
    }
}


Tak naprawdę wystarczy, że weźmiesz samą funkcje str_replace nie musisz specjalnie tworzyć obiektu
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: 21.08.2025 - 16:10