webForumDet fria alternativet

Behöver hjälp med regexp!

PHP

2 svar · 204 visningar · startad av visslaren

Medlem sedan juli 20011 222 inlägg
Frågan#1

Hallå.

Håller på med en liten nyhetsfunktion till en sida. Det jag vill göra är att plocka bort länkningen från eventuella länkar som skrivs i nyheten men även flyttar ner länkarna och lägga dem under nyheten.

Jag har letat runt på här på forumet efter en lösning och hittat lite olika saker för att plocka bort saker. Jag fick den att plocka bort länkningen så länge det bara var en länk i texten.

Här är koden jag använder för att plocka bort länkningen.

$samman = preg_replace("/(<a href=([^\]]+) target=_blank>([^\]]+)<\/a>)/is", "$3", $samman);

Har även problem med att lista ut hur jag ska lösa den andra delen med att flytta alla länkar.

Hjälp, förslag och idéer är uppskattat! :)

Medlem sedan juli 20011 222 inlägg
#2

Ok, jag löste problemet med att plocka bort länkningen med denna kod:

$samman = preg_replace("!<a href=(.*?) target=_blank>(.*?)<\/a>!i", "\\2", $samman);

Bara den andra delen kvar då :)

Medlem sedan juli 20011 222 inlägg
#3

Heh, lyckades lösa det med till slut :)

Här är hela koden, ifall nån skulle vara intresserad :)

preg_match_all('!<a href=(.*?) target=_blank>(.*?)<\/a>!i',$samman, $matches);
$links=$matches[1];
$samman = preg_replace("!<a href=(.*?) target=_blank>(.*?)<\/a>!i", "\\2", $samman); 

...

$ii=0;
$numlinks=count($links);

if ($numlinks>0) {
print "<br /><br />&nbsp;&nbsp;&nbsp;Relaterade länkar:<br />";
while ($ii<$numlinks) {
print "&nbsp;&nbsp;&nbsp;»&nbsp;<a href=\"".$links[$ii]."\" target=_blank>".$links[$ii]."</a><br />";
$ii++;
}
}
256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)