Identificar palavras que iniciam com maiúsculas (Nomes próprios)

  • Autor Autor Cristian1913
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Cristian1913

Cristian1913

Gamma
Usuário com poucas negociações! Use sempre o saldo do 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?
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
$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
 
Voltar
Topo