Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wyrażenia regularne i bbcode
Forum PHP.pl > Forum > Przedszkole
Gość_Molfer_*
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ść
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ść
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. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.