Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] preg_match_all pl znaki
tenloginjestzaje...
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 1
Dołączył: 20.07.2014

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


Witam
Przerabiam słowa zaczynające się na # na linki, ale mam problem z polskimi znakami, siedzę nad tymi wyrażaniem od 2 godzin. Dzięki

  1. $i = 1;
  2. $preg = preg_match_all('@#(.+?)\b@', $hashtag, $wynik);
  3. foreach(array_unique($wynik[1]) as $t){
  4. $titlehashtag.= $t.' ';
  5. if($t == $_GET['hashtag']) $showhashtag.= '<a class= "active" href="https://domena.pl/?hashtag='.$t.'">#'.$t.'</a>'; else $showhashtag.= '<a href="https://domena.pl/?hashtag='.$t.'">#'.$t.'</a>';
  6. if ($i++ == 20) break;
Go to the top of the page
+Quote Post
gino
post
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

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


nie wiem czy o to Ci chodzi jak chcesz przerobić polskie hashtagi na linki to spróbuj tego (to nie mój kod, ale kiedyś używałem):
Kod
function convertHashtags($str){
    $str = preg_replace('/#+([a-ząćęłńóśźżA-Z0-9_]+)/', '<a href="https://domena.pl/?hashtag=$1">$0</a>', $str);
    return($str);
}

$string = "To są tagi: #reset, #gałąź a to tag #wyściółka";
$string = convertHashtags($string);
echo $string;


Jak nie to napisz dokładnie jaki problem.

gino
Go to the top of the page
+Quote Post
kreatiff
post
Post #3





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

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


Jeśli chodzi o to, że ucina Ci wyraz przed polską literą, to do swojego wyrażenia regularnego dodaj modyfikator u.
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: 28.08.2025 - 21:39