Hi All,
For any reason I can't imagine, if you run this instruction in a rule;
fn!extract("<a>some text</a>","<a>","</a>")
you will get {"some text"} as a result, which is what I expected.
But if you run this one
fn!extract("<p>some text</p>","<p>","</p>")
you get nothing as result.
Another example of this strange behaviour:
fn!extract("<l>some text</l>","<",">") returns {"l","/l"}, which is fine
fn!extract("<p>some text</p>","<",">") returns nothing, which is inexplicably to me
Any idea on why is that happenning?. I've tested that on Appian v25.1
Regards!
Discussion posts and replies are publicly visible
i think in this scenario, striphtml() might work? since striphtml() Converts an HTML string into plain Text by converting <br>, <p>, and <div> to line breaks, stripping all other tags, and converting escaped characters into their display values
striphtml("<p>some text</p>")
Thank you for your answer Abishek, however I do not looking forward some workaround (I've already solved my need with regex). My intention when posting that is to know why fn!extract is working like this. ¿It is a bug or some weird undocumented behaviour?
I can replicate this on 24.4. I suggest to open a support case to discuss this with Appian.
So is there any special conditions that Appian would not parse <p> tags ?
That's the question only Appian can answer.
This is a known issue. Find the knowledge base item here: community.appian.com/.../kb-1489-the-extract-function-is-unable-to-handle-html-line-breaks
we would at the very least expect text handling functions to handle all text without bias even if that text contains valid HTML tags.
I also confirmed this behavior in 24.4, and confirmed that the exact same code (but with the letter in question replaced to make it not a valid HTML tag) un-breaks it.
Thank you Stefan
I just realized - this article gets it slightly wrong. It's not that Appian is failing to parse the extract per se - it's that the entire string is being stripped of certain HTML tags (presumably) immediately, before the "extract" operation is even attempted, and then the result of the "extract" works or fails depending on what's left after the HTML tags in question are removed.
For example: