webForumDet fria alternativet

reguljärt uttryck dilemma....

PHP

3 svar · 445 visningar · startad av fredriksk

Medlem sedan maj 2001211 inlägg
Frågan#1

Ok. Nu snurrar det lite i huvet...

Jag har en html baserad text i en variabel $txt

Nu är det så att på vissa ställen så saknar <a href=> -länkarna ett http:// i sig. detta vill jag åtgärde genom att använda

preg_replace($pattern, $replacement, $txt);

alltså:
Ge tusan i de länkar (<a href=") som redan har http:// i sig och lägg till det i övriga.

Jag vill helst använda preg_replace då jag samtidigt tar bort en massa annat jox med denna funktion...

Medlem sedan mars 2003429 inlägg
#2

en liten fundering, det borde fungera ifall du först söker upp en <a href="
När den har funnit detta kollar den om det som följer är http:// är det inte det STOPPA IN det dåååå!! ;) Så ungefär skulle min psedukod seut =D

Medlem sedan dec. 20025 483 inlägg
#3
preg_replace('/<a href="([\w\.\?\/=]+)">/i', '<a href="http://\\1">', $txt);

Eventuellt kan du behöva lägga till fler tillåtna tecken i uttrycket.

:)

Medlem sedan maj 2001211 inlägg
#4

hmmm...

Peter S! Kan du ta en kik till på din föreslagna kod? Den plockar inte dessa varienter

<a href="somelink.php">some link</a>

Och gör om dessa till

<a href="http://somelink.php">some link</a>

Jag är liiiite lost i ditt reguljära uttryck så jag är inte man att lösa det själv...

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
115 ms — ändringar (db)