Forums / General / Remove newline and carriage return in TEXT doesn't work

Remove newline and carriage return in TEXT doesn't work

Author Message

Anita H

Tuesday 14 July 2009 5:56:52 am

Hi All,
I just cannot find the solution. I need to pass a xml_text to a javascript and therefore try to strip special characters:

I do:
{def $a = $childsub.data_map.contact.content.output.output_text |strip_tags | xmlwash() |simplify('\n')|nl2br }

Result:

<br />
50 Park Terrace<br />
8001 Christchurch<br />

I also tried:

{def $a = $childsub.data_map.contact.content.output.output_text |strip_tags | xmlwash() |simplify('\n')|nl2br}
{set $a = $a | break}

Result:

<br /><br />
50 Park Terrace<br /><br />
8001 Christchurch<br /><br />

What I need:

50 Park Terrace<br />8001 Christchurch<br />

How can I achieve that?
Desperate for any help.
Many thanks
Anita

Peter Keung

Tuesday 14 July 2009 11:24:56 pm

Since there's no str_replace() in eZ Publish (aside from a custom template operator for which there are extensions), you could run it through explode and then implode to remove those line breaks:

{set $a = $a|explode("\n")|implode()}

For your case you might need some of those extra operators too:

{set $a = $a|trim()|nl2br()|explode("\n")|implode()}

http://www.mugo.ca
Mugo Web, eZ Partner in Vancouver, Canada

Anita H

Wednesday 15 July 2009 1:06:11 am

Hi Peter,
many thanks. I will try it asap. I installed the extension swark and - in my desperation -
did the following:

ezPublish:

{def $a = $childsub.data_map.contact.content.output.output_text |strip_tags | xmlwash() |simplify('\n')|simplify('\r')|nl2br}

call to javascript:
map.addOverlay(createMarker(...., '{$a | str_replace("\r","") | str_replace("\n","")}' ));

And now it works.
However, I prefer your version as then I would not have to install the extension swark and rebuild the ezgenerateautoload which is giving me other headaches, e.g. how to run php command on remote web-hosting server when only having ftp access?

However, many thanks :-)
Anita

Anita H

Wednesday 15 July 2009 1:35:15 am

Hi Peter,
perfect! Your solution works very nicely...
brgrds
Anita