Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

149
Views
reemplace la URL en la etiqueta de anclaje con el uso de nl2br en la hoja de laravel

hola, tengo laravel blade y aquí está la parte que tiene el problema

 @php $reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/"; @endphp <div class="message"> @php $text = nl2br(e($message)); @endphp @if(preg_match($reg_exUrl, $text, $url)){!! preg_replace($reg_exUrl, '<a href="$0" target="_blank">$0</a> ', $text) !!} @else {!!$text!!} @endif </div>

esto funciona bien si el enlace está solo en el texto pero si se mezcló con algunas palabras y alguna línea de ruptura como este mensaje

hola querido comprador

el enlace funciona bien https://google.com/blabla

y algún texto aleatorio

se convirtió a este código html

 hello dear buyer<br> <br> the link is working good<br> <a href="https://google.com/blabla<br" target="_blank">https://google.com/blabla<br< a=""> /&gt; <br> and some random text<br> <br>

Cómo arreglar esto

quiero reemplazar la url en la etiqueta de anclaje y mostrar la línea de ruptura si el usuario ingresa el mensaje contiene líneas

también para usar la función e () en Blade para evitar que se ejecute cualquier código html

alguien ayuda por favor

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Hmm, su código solo funciona si solo hay un espacio antes de la etiqueta <br> . No creo que puedas hacer esto desde el
está vinculado al enlace. Tal vez puedas hacer esto por ahora (hasta que alguien más tenga una solución mejor) y asegurarte de que e() se llame después de str_replace:

 $message = str_replace('<br>', ' <br>', $message); // Optional to trim double spaces $message = preg_replace('/\s\s+/', ' ', $message);
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!