Поэтому я пытался сделать $ (document).match(/regexp/); и я продолжаю получать "undefined не является функцией"
Когда я делаю $ (document) html(). Match (/regexp/); TypeError: Не удается прочитать свойство "match" undefined
Регулярное выражение, которое я использую, это /^[~{.*?}~]$/. Все, что я хочу сделать, это поиск документа html для [~ {любого типа ввода} ~], чтобы затем я мог заменить его на правый код с помощью jQuery. По сути, я буду создавать свой собственный шаблонный движок. Нынешние, либо не делают то, что мне нужно, либо слишком раздуты.
<body>
[~{ header }~]
<p>This is the home page</p>
[~{ footer }~]
</body>
Поэтому, я думаю, я был неясно, что мне нужно сделать, это найти текст внутри "[~ {" and "} ~]". Затем, поместив его в переменную и определив, что с ним делать, я снова найду все выражение, но на этот раз я заменю его другим контентом.
Так
[~{ header }~]
Я бы нашел это с совпадением или чем-то, извлеките текст заголовка в переменную. Оттуда у меня будет функция. Функция вернет что-то сделать, как получить получение html-страницы и загрузить ее. Но тогда ему придется снова найти выражение, чтобы заменить его.
$(document)
возвращает объект jQuery, а не строку. Вам нужно вызвать html()
чтобы получить содержимое HTML документа. Ты можешь сделать:
$('body').html(function(contents) {
return contents.replace(/regexp/, 'replacement');
});
Если вы просто хотите увидеть матч:
var match = $('body').html().match(/regexp/);
console.log(match);