PHP:¿Puedo hacer que las url que estén en un texto se hagan "linkeables"?
De Foros del Web
Juntando ideas armé esta función:
Código PHP:
function ponerLinks( $str ){ $tmp = eregi_replace('((ftp|http|www)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="\\1" target="_blank">\\1</a>', $str); #Si esto se puede integrar en la regex sería mejor aún.... return str_replace('href="www.','href="http://www.', $tmp); }
Ejemplo de uso:
Código PHP:
function ponerLinks( $str ){ $tmp = eregi_replace('((ftp|http|www)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="\\1" target="_blank">\\1</a>', $str); #Si esto se puede integrar en la regex sería mejor aún.... return str_replace('href="www.','href="http://www.', $tmp); } $str = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras tempor, pede at scelerisque cursus, www.arcunulla.com suscipit libero, iaculis tincidunt justo quam sit amet tortor. Donec quis elit. Vivamus nec sapien ut http://www.leo.com posuere consequat. http://Quisque.com.ar et nisl. Aenean dolor. Aenean blandit purus non felis. Sed elit justo, rutrum quis, ornare non, tincidunt blandit, nisl. Donec sodales massa non pede. In eleifend placerat risus. Nulla vitae elit vitae erat porttitor tristique. ftp://Phasellus.com.ar neque mi, imperdiet vel, mollis ac, placerat a, libero. Phasellus semper sodales ante. www.Mauris.com.cl placerat risus sollicitudin mauris. Donec at tellus. Aenean eu nulla. Curabitur mattis adipiscing augue. Suspendisse blandit, odio sit amet convallis volutpat, erat ante posuere tellus, quis ultricies lacus mi quis urna'; echo ponerLinks( $str );
--nicolaspar 19 Oct 2007
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
