Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] wyrażenia regularne i bbcode
-Gość_Molfer_*-
post
Post #1





Goście







Mam kod, który tworzy mi linki gdy napotka w tekscie na **

  1. <?php
  2. $a = preg_replace("#(.*?)#si", '<a href="slowo.php?a=1" title="1">1</a>', $a);
  3. ?>


Dzieła dobrze, ale potzrbne mi jest jeszcze, żeby słowo, które znajduje się miedzy [url] przepuścić przez urlencode. i niestety nie wiem w jaki sposób to wykonać.
Bardzo bym prosił o pomoc.
Go to the top of the page
+Quote Post
phpuser
post
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.04.2004
Skąd: Żary woj. lubuskie

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


preg_replace_callback" title="Zobacz w manualu php" target="_manual


--------------------
Przekonania są większymi wrogami prawdy niż kłamstwa...

Apache: 2.0.58, php: 5.1.4, MySQL: 5.0.23
Go to the top of the page
+Quote Post
-Gość-
post
Post #3





Goście







Dzieki za podpowiedz wlasnie o to mi chodziło smile.gif.
Już prawie zrobiłem to co chciałem, ale nie wiem dlaczego linki wyswietlaja mi się podwojnie (raz zle raz dobrze) np. [url ]heavily[/url]heavily cen Raz dodatkowo wstawia

  1. <?php
  2.  
  3. function url($zmien) {
  4.  foreach ($zmien as $a)
  5.  $link.='<a href="slowo.php?a='.urlencode($a).'" title="'.$a.'">'.$a.'</a>';
  6.  return $link; 
  7. }
  8.  
  9. function bbcode($a){
  10. $a = preg_replace_callback("#[url](.*?)#si", "url", $a);
  11. }
  12.  
  13. ?>
Go to the top of the page
+Quote Post
-Gość-
post
Post #4





Goście







Poradziłem sobie, ale nie wiem zabardzo jak smile.gif do finkcji dodałem $a[0]; i już nie powtarza linków. Może ktoś wie dlaczego?
  1. <?php
  2. function url($zmien) {
  3.  foreach ($zmien as $a)
  4.  $a[0]; /* to dodałem */
  5.  $link.='<a href="slowo.php?a='.urlencode(htmlspecialchars_decode($a)).'" title="'.$a.'">'.$a.'</a>';
  6.  return $link;
  7. }
  8. ?>
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 - 20:00