Identificar palabras que inician con mayúsculas (Nombres propios)

  • Autor Autor Cristian1913
  • Fecha de inicio Fecha de inicio
Cristian1913

Cristian1913

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Los redactores de un sitio de un cliente que estoy revisando, noto que NO ponen NEGRILLA en ningún nombre propio al momento de escribir. Con nombre propio me refiero a por ejemplo algúna palabra que en medio de un párrafo inicie en mayúscula.

Con ctype_upper en PHP se puede verificar una cadena está 100% en mayúscula. Pero yo solo necesito identificar la primera letra en Mayúscula para luego asignarle NEGRILLA a la misma.

Alguna idea de por donde iniciar?
 
$p = 'Hola';
if ( ctype_upper( $p ) && !ctype_upper( substr( $p,1) )
{
echo $p.....
 
O podes usar array

PHP:
<?php
$cadenas = array('UFJSKKJ449', 'TODO', 'asdDFDAsdadasd');
foreach ($cadenas as $caso_prueba) {
if (ctype_upper($caso_prueba)) {
echo "La cadena $caso_prueba consiste completamente de letras mayúsculas.\n";
} else {
echo "La cadena $caso_prueba no consiste completamente de letras mayúsculas.\n";
}
}
?>
 
PHP:
<?php

echo getBold("Roberto");
echo "<br/>";
echo getBold("roberto");

function getBold( $palabra )
{
    $firstLetter = $palabra[0];
    if( $firstLetter === strtoupper($firstLetter) )
    {
        return "<strong>" . $palabra . "</strong>";   
    }else
    {
        return $palabra;
    }
}
 
PHP:
<?php
    $string = "Se van a reemplazar Omar, Luis y Carlos obviando lo demás.";
    $string = $string.PHP_EOL.$string.PHP_EOL.$string.PHP_EOL.$string.PHP_EOL.$string; // PHP_EOL Es el salto de línea, como al darle enter en un textarea
    echo preg_replace_callback('/(^| )([A-Z]{1}\w*)/m',function($v){return ' <b>'.$v[2].'</b>';},$string); // En negrilla todas las palabras que comiencen con minúsculas
    echo "<br><br><br>";
    echo preg_replace_callback('/ ([A-Z]{1}\w*)/m',function($v){return ' <b>'.$v[1].'</b>';},$string); // En negrilla todas las palabras que comiencen por minúsculas, exceptuando el inicio de cada párrafo
Si es necesario que sea para una cadena entera, lo más lógico sería utilizar un a expresión regular
 
Atrás
Arriba