В PHP замените один URL-адрес другим в строке, например.
New post on the site <a href="http://stackoverflow.com/xyz1">http://stackoverflow.com/xyz1</a></p>
становится:
New post on the site <a href="http://yahoo.com/abc1">http://yahoo.com/abc1</a></p>
Должен работать для повторения строк, как указано выше. Ценить это просто, но изо всех сил!
function replace_url($text, $newurl) { $text = preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', $newurl, $text); return $text; }
Должно работать. Regex украдено у здесь . Это заменит все URL-адреса в строке на новый.
Использование str_replace () :
$text = str_replace('http://stackoverflow.com/xyz1', 'http://yahoo.com/abc1', $text);
Это заменит первый URL-адрес вторым URL-адресом в $ text.
Попробуйте это:
preg_replace('#(https?://)(www\.)?stackoverflow.com\b#', '\1\2yahoo.com', $text);
Если вы хотите изменить путь после URL, добавьте другую группу и используйте preg_replace_callabck. Больше информации в документации PHP.
preg_replace_callabck