Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyrażenie regularne
maki1234
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.01.2015

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


  1. $_locale->load('u');
  2.  
  3. $bbcode_info = array(
  4. 'name' => __('Underline'),
  5. 'description' => __('Display the selected text in underline'),
  6. 'value' => 'u'
  7. );
  8.  
  9. if($bbcode_used)
  10. {
  11. $text = preg_replace('#\[u\](.*?)\[/u\]#si', '<span class=\'underline\'>\1</span>', $text);
  12. }


Mam taki kodzik (zaczerpnięty z EF5), jedno proste pytanie co oznacza \1 w tekście na który przekształacamy? Może ktoś podać link do jakiegoś tutka tłuamczącego właśnie to lub sam wyjaśni?

Pytanie pewno banalne
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


http://php.net/manual/en/function.preg-replace.php sekcja replacement
Go to the top of the page
+Quote Post
maki1234
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.01.2015

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


Jakoś tak to rozumiem że dając \1 odwołujemy się do 1 wyrażenia czy co? Wiem że nikt tu gotowego rozwiązania nie poda też chciałbym się pogłowić i robię to (IMG:style_emoticons/default/wink.gif)
Dobrze to rozumiem czy całkiem nie tego?...
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


\1 lub $1 to odwołanie się do pierwszego znalezionego wyrażenia w (), jakbyś miał kilka () to kolejno \2 \3 itd.
Go to the top of the page
+Quote Post
maki1234
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.01.2015

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


Ok Ale jest to powszechnie używane i zalecane czy można pominąć? Prosty przykład jak ten parser bbcode musi to mieć?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Musi, ponieważ tam ląduje wynik dopasowania.

Czyli to co jest znalezione pomiędzy tagami ląduje w znaczniku html
Go to the top of the page
+Quote Post
maki1234
post
Post #7





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.01.2015

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


Czyli podumowując i rozwiewając wszelkie wątpliwosci, mam wyrażenie:

  1. preg_replace(#^\[b\](.*?)\[\/b\]$#, "<b>\1</b>", $tekst)


Mam w $tekst np zdanie to po przekształceniu w znaczniki <b> wskoczy właśnie to zdanie?
Go to the top of the page
+Quote Post

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: 23.08.2025 - 13:03