Запрос MongoDB: поле либо не существует, либо имеет конкретное значение

Преобразование HTML для простого текстового письма с сохранением гиперссылок (href) intact

Вышеупомянутая функция, опубликованная hypoxy, отлично работает, но я был после чего-то, что в основном конвертирует HTML, созданный в редакторе Web RichText (для например, FCKEditor) и очистить все HTML, но оставить все ссылки за то, что я хотел, чтобы и HTML, и версия обычного текста помогли создать правильные части для электронной почты STMP (как HTML, так и обычного текста).

После долгого времени поиска Google я и мои коллеги придумали это с использованием механизма регулярных выражений в Javascript:

str='this string has <i>html</i> code i want to <b>remove</b><br>Link Number 1 -><a href="http://www.bbc.co.uk">BBC</a> Link Number 1<br><p>Now back to normal text and stuff</p>
';
str=str.replace(/<br>/gi, "\n");
str=str.replace(/<p.*>/gi, "\n");
str=str.replace(/<a.*href="(.*?)".*>(.*?)<\/a>/gi, " $2 (Link->$1) ");
str=str.replace(/<(?:.|\s)*?>/g, "");

переменная str запускается следующим образом:

this string has <i>html</i> code i want to <b>remove</b><br>Link Number 1 -><a href="http://www.bbc.co.uk">BBC</a> Link Number 1<br><p>Now back to normal text and stuff</p>

, а затем после запуска кода выглядит так: -

this string has html code i want to remove
Link Number 1 -> BBC (Link->http://www.bbc.co.uk)  Link Number 1


Now back to normal text and stuff

Как вы можете видеть, все HTML-файлы были удалены, и ссылка была сохранена с гиперссылкой текста по-прежнему неповрежденными. Также я заменил теги <p> и <br> на \n (символ новой строки), чтобы сохранилось какое-то визуальное форматирование.

Чтобы изменить формат ссылки (например, BBC (Link->http://www.bbc.co.uk) ) просто отредактируйте $2 (Link->$1), где $1 - URL-адрес / URL-адрес href, а $2 - гиперссылнный текст. С помощью ссылок непосредственно в теле обычного текста большинство SMTP Mail Clients преобразуют их, поэтому пользователь имеет возможность нажимать на них.

Надеюсь, вы найдете это полезным.

21
задан majackson 5 January 2011 в 15:27
поделиться