[PHP] Preg_match src en href

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ingmdijkstra
  • Registratie: November 2005
  • Laatst online: 14-09-2023
Ik probeer alle src en href te vervangen met complete urls.

Eigenlijk wil ik dus "/src=[",',][!http://www.domein.nl](.*)[",',>]/" (of iets dergelijks) de *. aanvullen met het http://www.domein.nl/ als hier nog geen domein aan toegevoegd is.

Nu ben ik zeer slecht in dit preg_matchen en zou daar graag hulp bij willen hebben en of hint.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Eigenlijk is dit hier niet helemaal de bedoeling, aangezien ik hier een hele hoop eigen inzet mis. Als je ook maar een basistutorial over regexps doorneemt, dan had je geweten dat je geen komma's hoeft te gebruiken in character classes en dat een domeinnaam in een char class al helemaal niet doet wat je wil, om nog maar niet te spreken over het feit dat je binnen een char class niet met een ! aangeeft dat het er niet mag staan, maar met ^. Lees anders even onze regexp tutorial door.

Maar goed, omdat ik in een goeie bui ben. :P
PHP:
1
2
3
4
5
preg_replace(
  "#(src|href)\s*=\s*[\"']?(?!http://www.domein.nl/)(.*)([\"']?|(?=>))#Uis",
  "$1=\"http://www.domein.nl/$3\"",
  $tekst
);

Ongetest, maar zou moeten werken volgens mij. Let wel; dit werkt verre van perfect, aangezien src's en href's waar al een domein in staat compleet verkloot gaan worden.

Overigens heb je sowieso geen preg_match nodig, maar preg_replace voor replaces. Als je al preg_match wil gebruiken, neem dan preg_match_all als je meerdere resultaten verwacht. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • ingmdijkstra
  • Registratie: November 2005
  • Laatst online: 14-09-2023
Sorry had inderdaad even gewoon wat moeten posten. Was alleen laat en zo eigenlijk al weg.
Mijn probleem is denk ik dat ik het te moeilijk wil doen. Nu bedacht ik me opeens dat er misschien ook wel zoiets is voor het aangeven van het source domein in html.
Hiermee bedoel ik dat je kunt aangeven waar de algemene domein is voor bijvoorbeeld image of javascript sources.

Ik ga dat even opzoeken.
En als gewoonlijk weer enorm bedankt voor de inzet!

[ Voor 15% gewijzigd door ingmdijkstra op 07-06-2006 09:28 ]