#php
#php
Вопрос:
Я использую приведенный ниже код для поиска текста в строке и замены на указанную ссылку, но проблема в том, что я хочу заменить только в том случае, если есть точное или полное совпадение слов. Приведенный ниже код заменить https://example.com с https://example.com но я хочу заменить, если есть точное совпадение, его следует заменить на https://example.com/test / потому что это полное слово и точное совпадение. Любая помощь будет высоко оценена?
$search = array();
$replace = array();
$search[]="https://example.com/";
$search[]="https://example.com/test/";
$replace[]='<a href="https://example.com/" target="_blank">' . 'https://example' . '</a>';
$replace[]='<a href="https://example.com/test/" target="_blank">' . 'https://example/test/' . '</a>';
$content="this is test content https://example.com/test/";
$content=str_replace($search,$replace,$content);
Я пробовал приведенный ниже код, но он не работает
$search[]="/bhttps://example/b/";
$search[]="/bhttps://example/test/b/";
$content=preg_replace($search,$replace,$content);
Комментарии:
1. читайте о preg_replace() здесь php.net/manual/en/function.preg-replace.php
2. Возможно ли изменить порядок поиска и замены? Идея состояла бы в том, чтобы сначала выполнить поиск по «наиболее точным» критериям:
https://example.com/test/
затем по «менее точным» критериямhttps://example.com
3. Я решил это, используя другой подход. Я использовал функцию strtr.