TransWikia.com

Expresión regular para palabras en php

Stack Overflow en español Asked by Carlos Valdes Web on August 27, 2021

¿cómo están?
Estoy trabajando con preg_replace para sustituir cadenas, pero estoy atorado con una expresión regular. Yo tengo lo siguiente:

$texto = "Mi carro es dorado como el <b>carro</b> de enfrente";

preg_replace("/bcarro[^<]b/", "auto",$texto);

Lo que quiero es que se reemplace solo la primera palabra carro, pero cuando tenga las etiquetas no se reemplace la palabra.

El texto debería quedar así.

$texto = "Mi auto es dorado como el <b>carro</b> de enfrente";

Pero queda así, se come el espacio, debido a que la expresión regular dice que acepte todo excepto cuando tenga el símbolo < y es por eso que está borrando el espacio, pero no logro hacer la expresión regular, alguien tiene una idea?

$texto = "Mi autoes dorado como el <b>carro</b> de enfrente";

One Answer

Puedes usar 'negative lookahead' (no se si hay una palabra en español):

/bcarro(?!<)b/

https://regex101.com/r/3iybOe/1

introducir la descripción de la imagen aquí

Answered by Glorfindel on August 27, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP