Búsqueda y reemplazo en strings
Busque y reemplace texto con strpos, str_replace y str_contains.
Búsqueda y reemplazo en strings es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de PHP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de PHP Academy incluye 4 lecciones en total.
Búsqueda de texto en cadenas
PHP ofrece muchas funciones para localizar subcadenas. Funciones principales:
strpos()— busca la posición de la primera apariciónstrrpos()— busca la posición de la última apariciónstr_contains()— disponible desde PHP 8, comprueba si existestr_starts_with()/str_ends_with()— disponibles desde PHP 8
strpos()
Devuelve la posición (con índice inicial 0) de la primera aparición, o false si no se encuentra:
<?php
$str = 'the quick brown fox';
$pos = strpos($str, 'brown');
echo $pos; // 10
// Always use === to check for false (0 is also falsy!)
if (strpos($str, 'quick') !== false) {
echo 'Found!';
}str_contains, str_starts_with, str_ends_with
PHP 8 añade estas funciones booleanas sencillas:
<?php
$email = 'user@example.com';
var_dump(str_contains($email, '@')); // true
var_dump(str_starts_with($email, 'user')); // true
var_dump(str_ends_with($email, '.com')); // true
var_dump(str_ends_with($email, '.org')); // falsestr_replace()
Reemplace todas las apariciones de una cadena buscada por otra de reemplazo:
<?php
$template = 'Hello {name}, your order #{id} is ready.';
$result = str_replace(
['{name}', '{id}'],
['Alice', '4521'],
$template
);
echo $result;
// Hello Alice, your order #4521 is ready.str_ireplace() — sin distinguir mayúsculas y minúsculas
str_ireplace() funciona como str_replace(), pero no distingue entre mayúsculas y minúsculas:
<?php
$text = 'PHP is great. php is powerful. PHP is fun.';
$result = str_ireplace('php', 'PHP 8', $text);
echo $result;
// PHP 8 is great. PHP 8 is powerful. PHP 8 is fun.substr_replace()
Reemplace una parte de una cadena indicando su posición y longitud:
<?php
$str = 'Hello World';
echo substr_replace($str, 'PHP', 6, 5);
// Hello PHP
// Replace from end
echo substr_replace($str, '!', -1);
// Hello Worl!substr_count()
Cuente cuántas veces aparece una subcadena:
<?php
$text = 'to be or not to be';
echo substr_count($text, 'be'); // 2
echo substr_count($text, 'to'); // 2
echo substr_count($text, 'or'); // 1preg_replace() — reemplazo con expresiones regulares
Utilice un patrón de expresión regular para realizar reemplazos complejos:
<?php
$html = '<p>Hello <b>World</b></p>';
// Strip HTML tags
$plain = preg_replace('/<[^>]+>/', '', $html);
echo $plain; // Hello World
// Replace multiple spaces with one
$spaced = 'too many spaces';
echo preg_replace('/\s+/', ' ', $spaced);
// too many spaceshtmlspecialchars para prevenir XSS
Escapе siempre los datos introducidos por el usuario antes de mostrarlos en HTML para prevenir ataques XSS:
<?php
$userInput = '<script>alert("hacked")</script>';
// Dangerous:
echo $userInput; // executes script!
// Safe:
echo htmlspecialchars($userInput, ENT_QUOTES, 'UTF-8');
// <script>alert("hacked")</script>Contar reemplazos
str_replace() puede informar de cuántas sustituciones se realizaron mediante un cuarto parámetro opcional:
<?php
$text = 'cat and cat and cat';
$count = 0;
$result = str_replace('cat', 'dog', $text, $count);
echo $result; // dog and dog and dog
echo $count; // 3Relleno de cadenas
Rellene una cadena hasta alcanzar la longitud deseada para formatearla:
<?php
echo str_pad('42', 8); // '42 ' (right-pad)
echo str_pad('42', 8, '0', STR_PAD_LEFT); // '000042'
echo str_pad('PHP', 7, '-', STR_PAD_BOTH); // '--PHP--'Comprobación rápida
¿Qué función de PHP 8 comprueba si una cadena empieza por un prefijo determinado?
Repaso: búsqueda y reemplazo
Funciones principales:
strpos/strrpos— buscan una posición (utilice la comprobación === false)str_contains/starts_with/ends_with— funciones booleanas de PHP 8str_replace/str_ireplace— sustitución sencillapreg_replace— reemplazo basado en expresiones regulareshtmlspecialchars— escapa datos para mostrarlos en HTML
Preguntas frecuentes
¿La lección «Búsqueda y reemplazo en strings» es gratis?
Sí — el texto completo de «Búsqueda y reemplazo en strings» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de PHP Academy, actualiza a CoddyKit PRO. El curso de PHP Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Búsqueda y reemplazo en strings»?
Busque y reemplace texto con strpos, str_replace y str_contains. Practicas PHP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar PHP Academy?
No se requiere experiencia previa. PHP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Búsqueda y reemplazo en strings»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de PHP Academy?
Sí. Cada lección de PHP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fundamentos de strings y concatenación
- Búsqueda y reemplazo en strings
- Funciones de subcadenas y relleno
- División y unión de cadenas