как заменить данные URL в переменной

Вам нужно установить значение null для этого маркера.

var markersList = [];    

function removeMarkers(markersList) {
   for(var i = 0; i < markersList.length; i++) {
      markersList[i].setMap(null);
   }
}

function addMarkers() {
   var marker = new google.maps.Marker({
        position : {
            lat : 12.374,
            lng : -11.55
        },
        map : map
       });
      markersList.push(marker);
   }
0
задан devpro 21 January 2019 в 10:47
поделиться

1 ответ

Этот ответ будет делать ряд предположений, потому что вы были неточными в течение всего вашего вопроса.

Я собираюсь предположить, что и исходный и требуемый URL используют «http», а не «https». Вы идете вперед и назад между двумя в вашем вопросе.

Я собираюсь предположить, что атрибут href в тегах <a> заключен в двойные кавычки как в оригинале, так и в результате. Ваш вопрос имеет двойные в оригинале и одиночные в результате.

Я собираюсь предположить, что, хотя ваш вопрос имеет «search? Q = new-doctor» в желаемом результате, вы на самом деле хотите «search? Q = news-doctor», когда на входе есть «news-doctor.html». «

Я собираюсь предположить, что часть даты исходного URL-адреса всегда представляет собой год из 4 цифр, за которым следует косая черта, за которой следует месяц из 2 цифр.

Пожалуйста, при задании будущих вопросов обращайте внимание на детали, так как они имеют значение. Особенно в таких случаях, когда в этом ответе будут использоваться регулярные выражения.

Функция, которую мы собираемся использовать, чтобы получить желаемый результат, является preg_replace () .

$urlTarget = "http://www.example.net";
$myDomain = "http://www.mydmoain.net";

$data = "Some parents believe that baby walkers can help their baby's growth and development, especially helping the children to walk faster. However, is it true that baby walkers can help child development? Or even dangerous? Let's take a look at the pros and cons of baby walkers <a href=\"http://www.example.net/2018/01/news-doctor.html\">below</a>";

$resultUrl = preg_replace("@".$urlTarget."/\d{4}/\d{2}/(.*)\.(.*)\"\>@", $myDomain."/search?q=$1\">", $data);

echo $resultUrl;

Распределение регулярных выражений:

@: начальный разделитель. Не используя типичные /, чтобы нам не пришлось избегать косых черт в URL

$urlTarget: мы хотим сопоставлять только URL, начинающиеся с " http: //www.example .net "

/\d{4}: косая черта, за которой следуют ровно 4 цифры

/\d{2}: косая черта, за которой следуют ровно 2 цифры

/(.*): Косая черта, за которой следует любое количество любых символов (символы находятся в группе захвата, поэтому мы можем ссылаться на них при замене)

\.: точка (экранированная) (используется для разделения файла на имя и extension)

(.*): любое количество любых символов (в вашем примере расширение «html»)

\">: двойная кавычка (экранированная), за которой следует большая чем >, чтобы поймать конец тега <a>

@: конечный разделитель

DEMO

0
ответ дан Patrick Q 21 January 2019 в 10:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: