preg_replace ändra bildkälla(path)

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
hedblom



Medlem i: 5273 dagar

Status: Offline



#690945
Inlägg Skrivet: 2010-10-12 19:03      Ämne: preg_replace ändra bildkälla(path) Citera

Hej.

Håller på att bygger upp ett litet script som hämtar ut senaste bloggarna från olika hemsidor. Tanken är att mina medlemmar ska få lägga till sin blogg och visa den på min sida.

Allt fungerar bra förutom att bilderna länkar till en källa som inte finns.
Jag måste manipulera källan url + bild för att den inte ska visas fel.

Tex:
orginalbild = <img src="bilder/bilden.jpg">
bloggens url = www.minblogg.se
Jag vill få: www.minblogg.se/bilder/bilden.jpg.
Detta genom att endast ändra värdet i $blogg som är hela innehållet samt alla bilder.

Några idéer på hur jag ändrar detta?

Tack på förhand.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
devphp



Medlem i: 3632 dagar
Från: Hedemora
Status: Offline



#690946
Inlägg Skrivet: 2010-10-12 19:08      Ämne: Citera

Om jag har fattat rätt så är du ute efter något liknande:
PHP:
1:
<img src="<?php echo $_SERVER['HTTP_HOST']; ?>/bilder/bilden.jpg">

Hur mednar du med att $blogg "är" innehållet?
 

_________________
while(!empty($_COOKIE['jar']))
{
eat($_COOKIE);
}
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Administratör



Medlem i: 5749 dagar
Från: Sveriges framsida
Status: Offline



#690963
Inlägg Skrivet: 2010-10-12 20:54      Ämne: Citera

kanske du kan använda preg_replace som du skriver, men många här rekommenderar att använda en DOM-parser för att leta i html-dokumentet efter sökta taggar.

Om du vill använda preg_replace kan du använda nåt liknande denna pattern:
KOD:
1:
$blogg = preg_replace('/<img\s+([^>]*?)src=\s*([\'"])(.*?)\2/ig', '<img \1 src=\2http://www.bloggens-url.com/\3\2', $blogg);


Kanske är så att den bör modifieras lite. Har inte testat den.
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
hedblom



Medlem i: 5273 dagar

Status: Offline



#691013
Inlägg Skrivet: 2010-10-13 11:40      Ämne: Citera

Tack marabou, det fungerade bra =)

Nu har jag dock en till fråga som bara inte fungerar.

Jag försöker hämta ur alla länkar med preg_match som innehåller år/månad.html i format 2010/january.html

Något du också kan? =)

Måste erkänna att jag är helt körd på detta Laughing
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Administratör



Medlem i: 5749 dagar
Från: Sveriges framsida
Status: Offline



#691016
Inlägg Skrivet: 2010-10-13 11:58      Ämne: Citera

Läs på www.regular-expressions.info
Där finns mycket goa' grejer!

För att matcha år/månad.html (2010/januari.html) kan du t.ex. använda följande:

#[0-9]+/[a-z]+\.html#

Nu tar den inte hänsyn till om det ligger i en länk-tagg eller inte.
Vill du att den skall matcha endast de som ligger i en tagg kan du tjuvkika lite på förra koden Smile
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic