Я ищу регулярное выражение в PHP, которое может заменить атрибут href
тегов привязки и атрибут src
IMG, стиля, сценариев и т. Д., Когда они являются внутренними.
пример: если я смотрю на страницу http://www.mysite.com
и на этой странице есть изображение:
<img src="/images/picture.gif />
тогда я хочу изменить это на:
<img src="http://mysite.com/images/picture.gif />
То же самое для тегов привязки: <a href="otherpage.php" >foo</a>
следует изменить на
<a href="http://mysite.com/otherpage.php" >foo</a>
Кроме того, он должен работать с другими элементами, имеющими атрибут src=
или href=
, и также должен работать с элементами, имеющими один или несколько других атрибутов (например, <img class="test" src="/images/picture.gif alt="some picture" />
) * 1023. *
Я пробовал что-то вроде
preg_replace("/src=[\"']([\/])(.*)?[\"'] /", "src='".$domain."/$2'", $htmldata);
но это не сработало. Он принял атрибут src, но также захватил все атрибуты после src. Кроме того, он не захватывал строки, которые не начинались с / (например, src="image.png"
)