С технической точки зрения, если в нем есть одна видимая новая строка, как вы показали в своем вопросе, на самом деле это не «пусто».
На самом деле вам придется проанализировать значение содержимого, чтобы выяснить, есть ли содержимое, которое не находится внутри тегов или нескольких специальных символов, таких как и т. д.
Я обычно делаю это в js, если мне нужно, беря всю строку текста и разбивая ее на массив на основе «‹», затем беря каждый элемент массива и удаляя текст слева от «>» , затем обрезать. Это оставляет мне массив либо пустых строк, либо текста, который находится вне каких-либо тегов. Оттуда достаточно легко проверить любую из строк в массиве, чтобы увидеть, не являются ли они пустыми, а не " ".
Это может быть более громоздко, чем некоторые встроенные парсеры, о которых я не знаю, но это довольно надежно и быстро. (и очень похожий метод можно использовать и на языке формул).
В формуле ssjs вы можете:
var checkString = @trim(@replacesubstring(@implode( @trim (@right( @explode( sourceHTMLstring , "<" ) , ">" ) ) , " "), " " , ""));
if(checkstring == "") {
// *** You have no content
} else {
// *** you have content
}
Очевидно, это можно было бы сделать так же легко и в чистом javascript, но старый язык формул настолько укоренился в моей голове, что я бы пошел по этому пути просто по привычке.
** Также обратите внимание: вы можете проверить наличие тега ‹img> где-то там на случай, если кто-то не сделал абсолютно ничего, кроме как поместил изображение в форматированный текст.
person
Andrew Pollack
schedule
11.03.2012