Привет я столкнулся с той же проблемой, потому что не настолько очевидно, что использовать из документов Экспо, здесь это
УВЕДОМЛЕНИЕ: если Вы хотите заставить его работать с автономной сборкой, необходимо настроить REVERSE_CLIENT_ID
в app.json от GoogleService-info.plist
инструкция, которую можно найти здесь: point 5
https://docs.expo.io/versions/latest/sdk/google-sign-in/#setup
Я решил проблему, вот код на C #;
static string CutIt(string s, int limit)
{
if (s.Length < limit) return s;
int okIndex = 0;
bool inClosingTag = false;
int numOpenTags = 0;
for (int i = 0; i < limit; i++)
{
if (s[i]=='<')
{
if (s[i+1]=='/')
{
inClosingTag = true;
}
else
{
numOpenTags++;
}
}
if (s[i]=='>')
{
if (s[i-1]=='/')
{
numOpenTags--;
}
if (inClosingTag)
{
numOpenTags--;
}
}
if (numOpenTags == 0) okIndex = i;
}
return s.Substring(0, okIndex + 1);
}
Это может быть излишним, но попробуйте поискать AWK , он может делать такие вещи довольно легко, поскольку он сосредоточен вокруг обработки текста.
Вы также можете написать пользовательский скрипт синтаксического анализа, например,
string s = "Visit <a href="www.htz.hr">Croatia</a> this summer."
result = ""
slice_limit = 9
i= 0
j = 0
in_tag = false
while i < slice_limit and j < s.size do
if s[j] == "<" then in_tag = true
if in_tag and s[i]==">" then in_tag = false
if !in_tag then i++
result += s[j]
end
... или что-то в этом роде (не проверял, но он дает вам идею).
РЕДАКТИРОВАТЬ : Вам также нужно будет что-то добавить, чтобы определить, закрыт тег или нет (просто добавьте флаг, например, in_tag, и смешайте его с некоторым регулярным выражением, и оно должно работать) Надеюсь, что это поможет
РЕДАКТИРОВАТЬ2 : если вы дали язык, который хотите использовать, это может быть полезно. JavaScript?
Когда я столкнулся с такой проблемой (для RSS-канала), я просто вызвал strip_tags перед тем, как разрезать мою строку.
В javascript вы можете использовать свойство textContent элементов DOM для получения этого.
HTML
<p id='mytext'>Hey <a href="#">Visit Croatia</a> today</p>
Javascript
var el = document.getElementById("mytext");
console.log( el.textContent );
//alert( el.textContent ); // if you don't have firebug.
static string CutIt(string s, int limit)
{
s = s.Substring(0, limit);
int openMark = s.LastIndexOf('<');
if (openMark != -1)
{
int closeMark = s.LastIndexOf('>');
if (openMark > closeMark)
{
s = s.Substring(0, openMark);
}
}
return s.Trim();
}
public static void Main()
{
Console.WriteLine(
CutIt("Visit <a href=\"www.htz.hr\">Croatia</a> this summer.", 9)
); // prints "Visit"
}