• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Linkowanie wybranego ciągu znaków.

0 głosów
456 wizyt
pytanie zadane 7 sierpnia 2017 w PHP przez Paweł Terlecki Nowicjusz (210 p.)
Witam ,

mam pytanie czy jest możliwość aby skrypt na stronie www wyszukiwał wybrany ciąg znaków i zmieniał go w href ?

Na przykład , tak jak to jest z #hashtagami , czyli w treści znajdzie #jakiśtekst i automatycznie wyświetla go jako link czyli : href://jakiśtekst  (w kodzie nic się nie zmienia a jedynie wyświetla na www jako link ) ?

1 odpowiedź

0 głosów
odpowiedź 7 sierpnia 2017 przez Chess Szeryf (76,730 p.)
edycja 8 sierpnia 2017 przez Chess
echo str_replace("example","<a href='http://example.com'>example</a>","Wood example forest.");

Możesz też użyć wyrażeń regularnych.

https://stackoverflow.com/questions/17245317/parse-text-for-hashtags-and-replace-with-links-using-php

http://www.regular-expressions.info/

$text = "Vivamus #tristique non elit eu iaculis.";
$text = preg_replace('/#(\w+)/', ' <a href="tag/$1">$1</a>', $text);
echo preg_replace("@(?<!\S)#([0-9a-zA-Z]+)@","<a href='http://example.com'>$1</a>","#hash #tag #tag #hash");

Edit:

Chyba o taki kod Ci chodziło:

<style>
a{ 
	text-decoration:none;
}
</style>

<?php 
 
$text = "Vivamus #tristique non #traszka #Pójdźmy_idźmy elit eu iaculis";

$patterns = array();
$patterns[0] = "@#([0-9A-Za-ząćęłńóśźżĄĆĘŁŃÓŚŹŻ_\-]+\w)@";
$patterns[1] = "@(elit)@";

$replacements = array();
$replacements[0] = "<a href=\"http://example.com\"><span style=\"background:lightgrey\">$1</span></a>";
$replacements[1] = "<a href=\"http://example.com\"><span style=\"background:lightgreen\">$1</span></a>";

$text = preg_replace($patterns,$replacements, $text);
echo $text;
?>

 

komentarz 7 sierpnia 2017 przez Paweł Terlecki Nowicjusz (210 p.)
Ok , dzięki .

A jak wstawić do $text = ' przykladowy text #moj ';

aby $text= ' (cała zawartość body strony) ';

 

 

??
komentarz 8 sierpnia 2017 przez Paweł Terlecki Nowicjusz (210 p.)

lub string equals html <body> element value

komentarz 8 sierpnia 2017 przez Paweł Terlecki Nowicjusz (210 p.)
co do wcześniejszego :   $text = preg_replace('(<a href=\")(.*)(">)([a-zA-Z0-9 ]+)(<\/a>)','<a href="$4">$4</a>', $text); błąd Unknown modifier '('

 

komentarz 8 sierpnia 2017 przez Ehlert Ekspert (215,230 p.)

Nie używaj takiego regexpa. Wcale nie jest powiedziane że po tagu w htmlu będzie określony atrybut href. Np.

<a class="superlink" href="#">Go There!</a>

Podobne pytania

0 głosów
2 odpowiedzi 2,726 wizyt
pytanie zadane 22 stycznia 2017 w C i C++ przez spicedagger Użytkownik (530 p.)
0 głosów
1 odpowiedź 495 wizyt
pytanie zadane 7 lutego 2017 w C i C++ przez spicedagger Użytkownik (530 p.)
0 głosów
1 odpowiedź 752 wizyt
pytanie zadane 21 maja 2018 w PHP przez szachovy Początkujący (270 p.)

93,740 zapytań

142,675 odpowiedzi

323,294 komentarzy

63,319 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...