Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Zamiana
meehow18
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 10.01.2010

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


Witam,
mam pytanie,
jak zrobić, że jeżeli ktoś w formularzu textarea poda np:
Kod
[url=http://a.pl]Zobacz[/url]

Zostanie zamienione na normalny link?

Mam obecnie napisaną taką clase

  1. <?php
  2. class zamiana extends CI_Model
  3. {
  4. function url($msg,$id)
  5. {
  6. //$this->db->where('email', $this->session->userdata('email'));
  7. $this->db->where('url', $id);
  8. $qw = $this->db->get('url');
  9.  
  10. foreach ( $qw->result() as $r)
  11. {
  12. $url = $r->id_sub;
  13. $kod= $r->kod;
  14. $base = base_url('index.php/url/index/');
  15. $link = "<a href=\"".$base."/".$url."/".$kod."\">".$r->opis." </a>";
  16. }
  17. $msg=str_replace("[url]",$link,$msg);
  18. return $msg;
  19. }
  20.  
  21. }


Ona działa na zasadzie, że pod polem textarea jest input na url i osobny na opis i wystarczy podać w poście [url] i zamienia. Teraz się pojawia problem, jeżeli ktoś chciałby ten sam link linkować z innym opisem.

Proszę o pomoc wink.gif

Ten post edytował meehow18 9.12.2011, 16:33:08
Go to the top of the page
+Quote Post
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Kod
[url=http://a.pl]Zobacz[/url]


  1.  
  2. $text; // w tej zmiennej masz tekst na przykład "costam costam costam strona costam costam costam"
  3.  
  4. $text = preg_replace('/\[url=([^\]]+)\]([^\[]+)\[\/url\]/si','<a href="$1">$2</a>');
  5.  
  6. echo $text;


i tyle wink.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
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: 19.08.2025 - 15:59