Пока что невозможно связываться с Telegram таким образом для телефонных номеров, поскольку каждый пользователь ДОЛЖЕН добавить номер телефона в свой список контактов, прежде чем он сможет отправить ему сообщение по номеру телефона. Это ограничение связано с политикой конфиденциальности Telegram и предотвращением злоупотреблений. Более подробно, если Telegram разрешает такой тип связи, злоумышленник может получить веб-страницу, например https://t.me/+1XXXXXXX
, для каждого возможного номера без прохождения аутентификации. Вероятно, именно поэтому Telegram не имеет такой функции связывания.
Однако вы можете связаться с @username
пользователя Telegram, если он / она имеет:
Это должно сделать это:
pattern = /<div id="LiveArea">(.*?)<\/div>/;
matches = your_html_var.match(pattern);
the_string = matches[0];
document.write(the_string);
Это не будет возможно только с регулярным выражением, если HTML в том отделении не будет содержать никакие другие отделения. Поскольку то, что произойдет с шаблоном как Jeremy, - то, что он будет соответствовать первому заключительному тегу Div, который не обязательно был бы закрывающим тэгом для элемента div#LiveArea.
Если Вы управляете источником HTML, Вы могли бы вставить комментарий, что Вы могли использовать для соответствия на для корректного "заключительного" местоположения.
Существуют другие опции только для JavaScript, но они - каждый очень топорный или hacky
</div>
тег.var temp = document.createElement('DIV');
temp.innerHTML = YourVariable;
var liveArea;
for (var i = 0; i < temp.childNodes.length; i++)
{
if (temp.childNodes[i].id == 'LiveArea')
{
liveArea = temp.childNodes[i];
break;
}
}
Я не уверен, что следую за Вами, когда Вы говорите, "Переменная JavaScript, которая содержит страницу HTML", но Если необходимо извлечь HTML между таким отделением, можно использовать innerHTML свойство элемента.
var e = document.getElementById('LiveArea');
if(e) alert(e.innerHTML);
Я нашел это перемещение статьи в сети, которые берут идентификатор DIV, и показывает его на новой странице для печати его;
function getPrint(print_area)
{
//Creating new page
var pp = window.open();
//Adding HTML opening tag with <HEAD> … </HEAD> portion
pp.document.writeln('<HTML><HEAD><title>Print Preview</title>')
pp.document.writeln('<LINK href=Styles.css type="text/css" rel="stylesheet">')
pp.document.writeln('<LINK href=PrintStyle.css ' +
'type="text/css" rel="stylesheet" media="print">')
pp.document.writeln('<base target="_self"></HEAD>')
//Adding Body Tag
pp.document.writeln('<body MS_POSITIONING="GridLayout" bottomMargin="0"');
pp.document.writeln(' leftMargin="0" topMargin="0" rightMargin="0">');
//Adding form Tag
pp.document.writeln('<form method="post">');
//Creating two buttons Print and Close within a HTML table
pp.document.writeln('<TABLE width=100%><TR><TD></TD></TR><TR><TD align=right>');
pp.document.writeln('<INPUT ID="PRINT" type="button" value="Print" ');
pp.document.writeln('onclick="javascript:location.reload(true);window.print();">');
pp.document.writeln('<INPUT ID="CLOSE" type="button" ' +
'value="Close" onclick="window.close();">');
pp.document.writeln('</TD></TR><TR><TD></TD></TR></TABLE>');
//Writing print area of the calling page
pp.document.writeln(document.getElementById(print_area).innerHTML);
//Ending Tag of </form>, </body> and </HTML>
pp.document.writeln('</form></body></HTML>');
}
Вы назовете этот сценарий, отправляющий идентификатор DIV, который Вы хотите получить;
btnGet.Attributes.Add("Onclick", "getPrint('YOURDIV');")
Это работало точно, как я хотел. Надежда это помогает
it seems that javascript doesn't support lookbehinds which is very disapointing, that would make this problem so much easier to solve.
here are some links that might help out tho. although while discussing the issue of nested tags... that would be beyond the abilities of regex to solve so jeremy's solution is the best you can do with regex. and what is more they have to be on a single line... it won't even match if the the contents of the div are on seperate lines because there is no 's' flag for javascript. I think peter has given the answer for this one.(?<=
Позвольте jQuery выполнить синтаксический анализ за вас:
$(page_html).find("#LiveArea").html();
Извините за поздний ответ, если кто-то еще наткнется на эту проблему, вот мое предложение, предполагая, что у вас есть доступ к странице, которую вы читаете из исходного кода.
Добавьте HTML-комментарий вроде этого
<div id="LiveArea">
<!--LiveArea-->
Content here
<!--EndLiveArea-->
</div>
Затем сопоставьте его с
htmlVal.match(/<\!\-\-LiveArea"\-\->(.*?)<\!\-\-EndLiveArea"\-\->/);