ugrás a tartalomhoz

Bizonyos szövegrészek linkelése

ark · 2007. Feb. 27. (K), 19.44
Üdv!

Remélem tud valaki segíteni, mert szeretném megtudni, hogyan is kell ezt megcsinálni, s akár több oldalamon alkalmazni.

Nos. Arról lenne szó, hogy szertnék meghatározni pár szót, vagy szókapcsolatot, amely ha megejlenik egy bizonyos szövegen belül, arra egyből kerüljön a honlapon egy bizonyos link.
Láttam már ilyet működés közben, (vagy legalábbis azt hiszem, hogy ilyen volt) és nagyon izgatna...

A segítséget előre is köszönöm.
 
1

str_replace

s_volenszki · 2007. Feb. 27. (K), 23.10
Szia!

Mennyire vagy otthon php-ben? Mert kelleni fog!

Ha a szöveged a $szoveg változóban van, és minden alma szót hivatkozásra cseréljük (alma.html) akkor:

$szoveg = str_replace("alma", "<a href=\"alma.html\">alma</a>", $szoveg);

Csinálhatsz a csereszavakból és hivatkozásokból tömböket is:

$szavak = array("alma", "körte", "barack");
$hivatkozasok = array("az alma hivatkozása", "a körte hivatkozása", "a barack hivatkozása");

$uj_szoveg = str_replace($szavak, $hivatkozasok, $szoveg);

http://hu2.php.net

s_volenszki
2

JavaScript + onload + regex-replace

Wabbitseason · 2007. Feb. 27. (K), 23.11
Attól függ, mit értesz az alatt, hogy "bizonyos szövegen belül", de a feladat megoldható például JavaScripttel.

OnLoad eseményre átnézed a dokumentumodat (pl. document.body.innerHTML, ha a teljes tartalomban garázdálkodsz), és ahol megtalálod a keresett szavakat, oda berakod a linkeket.

Egyszerű példa:
  1. var aWords = ["poker""viagra""casino""mortgage"];  
  2. var aLink = ["http://weblabor.hu""http://weblabor2.hu""http://weblabor3.hu""http://weblabor4.hu"];  
  3. function hype()  
  4. {  
  5.   for (var i = 0, ii = aWords.length; i < ii; i++)  
  6.   {  
  7.     document.body.innerHTML = document.body.innerHTML.replace(  
  8.       new RegExp("\b" + aWords[i] + "\b""ig")  
  9.       , "<a href=\"" + aLink[i] + "\">$0</a>");  
  10.   }  
  11. }  
  12. window.addEventListener("load", hype, false);  
3

Kösz

ark · 2007. Feb. 28. (Sze), 16.08
A Javascriptes kódot nem tudtam, hova include-oljam a honlapon belül, az első viszont működik, jól.

Köszönöm.