У меня в строке $ content много URL:
<a href = "https://domain/wp-content/uploads/2018/07/sample-Wokal-2.jpg"><img class = "alignright size-full wp-image-6608" src = "https://domain/wp-content/uploads/2018/07/sample-Wokal-2.jpg" alt = "sample Wokal 2" width = "933" height = "617" /></a>
<a href = "https://domain/wp-content/uploads/2014/01/sample-lato-123.jpg"><img class = "alignright size-full wp-image-6608" src = "https://domain/uploads/2014/01/sample-lato-123.jpg" alt = "sample lato 123" width = "933" height = "617" /></a>
и т.д
Можно ли заменить все ссылки на: - https: //domain/files/sample-lato-123.jpg, - https: //domain/files/sample-Wokal-2.jpg,
и т.д?
Как это сделать? Я пробовал str_replace - но у меня разные типы ссылок, и я не знаю, как их заменить. Насчет регулярных выражений не знаю :(
Пожалуйста помоги.
Я не могу сделать это. Не могли бы вы написать мне, как это сделать?
Нет, я верю в тебя. Прочтите stackoverflow.com/a/1744154/2191572, чтобы начать. Если у вас есть конкретная проблема, вернитесь и попросите о помощи.
Вовсе нет, вы должны использовать preg_match: и preg_replace
Простите мой поддельный ответ, я удалил его. Если вы действительно хотите сопоставить URL-адреса с помощью регулярного выражения, возможно, этот поток может помочь: stackoverflow.com/questions/3809401/…






Вы можете использовать это регулярное выражение, которое выполняет поиск, чтобы убедиться, что строка, которую нужно заменить, действительно является той, которую мы хотим,
(?<=domain).*?(?=sample)
и заменить на
/files/
Вот пример кода PHP,
$str = '<a href = "https://domain/wp-content/uploads/2018/07/sample-Wokal-2.jpg"><img class = "alignright size-full wp-image-6608" src = "https://domain/wp-content/uploads/2018/07/sample-Wokal-2.jpg" alt = "sample Wokal 2" width = "933" height = "617" /></a>\n<a href = "https://domain/wp-content/uploads/2014/01/sample-lato-123.jpg"><img class = "alignright size-full wp-image-6608" src = "https://domain/uploads/2014/01/sample-lato-123.jpg" alt = "sample lato 123" width = "933" height = "617" /></a>';
echo preg_replace('/(?<=domain).*?(?=sample)/', '/files/', $str);
Принты,
<a href = "https://domain/files/sample-Wokal-2.jpg"><img class = "alignright size-full wp-image-6608" src = "https://domain/files/sample-Wokal-2.jpg" alt = "sample Wokal 2" width = "933" height = "617" /></a>\n<a href = "https://domain/files/sample-lato-123.jpg"><img class = "alignright size-full wp-image-6608" src = "https://domain/files/sample-lato-123.jpg" alt = "sample lato 123" width = "933" height = "617" /></a>
Дайте мне знать, если это вам подходит.
Если
$content- это просто HTML / XML, преобразуйте его в объект DOM и используйте XPath для нацеливания и изменения ссылок.