2016-04-07 9 views
0

Сценарий:Сделать простой текст в HTML, но только ссылки?

  1. Пользователь помещает содержимое много в текстовое поле, который сохраняется в базе данных.
  2. Сохраненный контент - «обеспечить простой текст», используя htmlentities().

И когда выход на веб-странице он показывает, как это (и ссылка отображается в виде обычного текста, а)

Hello there, how are you today. 
This text is saved and I want to show links, 
but the links are displayed like this: <a href="text">text</a>. 

(because the html surrounding the link are &lt; and &gt;) 

Я сделал это так (простой текст), потому что дон «т хотят, чтобы пользователи испортить содержимое с HTML-теги и т.д.

можно ли заменить &gt; и &lt; в < и>, но только тогда, когда есть ссылка? Я не уверен, как это достичь.

UPDATE: мысль может использовать пользовательский тег как [mylink]actual link[/mylink]. Было бы хорошо. Это может быть лучшим решением? Что ты думаешь?

+0

поэтому простая текстовая ссылка будет выглядеть так: «> link <»? – NachoDawg

+0

No < a href = "#" > link </a > – bestprogrammerintheworld

+1

Вы используете PHP? – ojovirtual

ответ

2

Вместо использования htmlentities использования strip_tags:

strip_tags - Strip HTML и PHP тэги из строки

Там есть вариант, который позволяет игнорировать определенные теги. В вашем примере:

$text="This <b>is</b> a <a href='#'>test</a>"; 
echo strip_tags($text,'<a>'); 

Это удалит все теги HTML, но привязки.

+0

Спасибо! Это то, что я искал! – bestprogrammerintheworld