Anda di halaman 1dari 7

23/2/2017 FuncionescadenasPHP:str_replace,strtolower,count_chars,strpos,trim,str_repeat,strstr,chr(CU00828B)

Inicio Cmoempezar Libros Cursos Empleo Humor!!! Divulgacin Zonacrash

Foros Freelancers Centrosformativos

Estaqu: Inicio Cursos Tutorialbsicodelprogramadorweb:PHPdesdecero

FuncionescadenasPHP:str_replace,strtolower,count_chars,strpos,
trim,str_repeat,strstr,chr(CU00828B)
Resumen:Entregan28delTutorialbsicodelprogramadorweb:PHPdesdecero.

Codificacinaprenderaprogramar.com:CU00828B

FUNCIONESBSICASENPHP

PHPademsdepermitirnosdefinirnuestraspropiasfunciones,disponedeunagrancantidaddefuncionespropiasdellenguajealas
que se denomina funciones nativas o funciones del core o ncleo php. Ya conocemos algunas de ellas como strlen y substr.
Vamosaverotrasfuncionesmuyusadasrelacionadasconelmanejodecadenasdecaracteres(texto).

FUNCINSTR_REPLACE

Estafuncinseutilizaparareemplazarcaracteresdentrodeunacadenadecaracteres.Esdecir,nospermitedefinirunacadenaque
debe ser reemplazada con otra dentro de una frase o palabra. La funcin devuelve la frase original con todas las apariciones de la
cadenaabuscarreemplazadasconunacadenadereemplazoespecificada.

Lasintaxisbsicahabitualparaestafuncines:

str_replace("cadenaabuscar","cadenadereemplazo",$variableOFraseOriginal)

http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=574:funcionescadenasphpstrreplacestrtolowercountcharsstrpostrim 1/7
23/2/2017 FuncionescadenasPHP:str_replace,strtolower,count_chars,strpos,trim,str_repeat,strstr,chr(CU00828B)

Vemosloconunejemploparaentenderlamejor.Escribeestecdigoygurdaloconunnombredearchivocomoejemplo1.php.A
continuacin,subeelficheroalservidoryvisualizaelresultado.

<?php//Ejemplofuncionesbsicasaprenderaprogramar.com
$texto="DondedijedigodigoDiego."
echostr_replace("Diego","recortes",$texto)
echo"<br/>"
echo$texto
?>

Como podemos observar, en la cadena de caracteres $texto, hemos sustituido la palabra o conjunto de caracteres "Diego" por
"Recortes"yhemosdevueltoelresultadosinmodificarlavariabledeentrada.

Fjatequeenelcdigoquehemosescritonohemosreemplazadoelvalordelavariable$textoporunnuevocontenido.Unicamente
hemos impreso por pantalla el resultado que nos devuelve la funcin. Si hubiramos escrito lo siguiente s hubiramos cambiado el
contenidodelavariable:$texto=str_replace("Diego","recortes",$texto)

Lafuncinpermitepasaropcionalmenteunparmetroadicionalquepermitesaberaposteriorielnmerodereemplazosquesehan
realizado:

str_replace("cadenaabuscar","cadenadereemplazo",$variableOFraseOriginal,$numReemplazos)

Vemosloconunejemploparaentenderlomejor:

<?php//Ejemplofuncionesbsicasaprenderaprogramar.com
$texto="Eldijo:estardeahora,peroesmejorsihaytres"
echostr_replace("es","**",$texto,$reemplazos)
echo'<br/>Sehanrealizado:'.$reemplazos.'reemplazos<br/>'
echo$texto
?>

http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=574:funcionescadenasphpstrreplacestrtolowercountcharsstrpostrim 2/7
23/2/2017 FuncionescadenasPHP:str_replace,strtolower,count_chars,strpos,trim,str_repeat,strstr,chr(CU00828B)

Elresultadoesperadoes:Eldijo:**tardeahora,pero**mejorsihaytr**,Sehanrealizado:3reemplazos,Eldijo:estardeahora,
peroesmejorsihaytres

Fjatequesereemplazalacadena"es"indistintamentesegnestseparadaporespaciosodentrodeunapalabra.Sisloquisiramos
reemplazarlacadenasiestseparadaporespaciospodramosindicarlosespaciosdentrodelacadena:echostr_replace("es","**",
$texto,$reemplazos)

Aquhemosindicadoquesereemplaceespacioesespacioconespacio**espacio.

Si fuera necesario establecer reglas complejas de reemplazo, por ejemplo reemplazar todas las palabras que empiecen por a y
terminenporaconotrapalabra,tendramosqueusarloquesedenominanexpresionesregulares,peronovamosaestudiarahorala
formadedefiniryemplearexpresionesregularesconPHP.

FUNCIONESSTRTOLOWERYSTRTOUPPER

Las funciones strtolower y strtoupper transforman una cadena de caracteres en la misma cadena en minsculas o maysculas
respectivamente. Escribe ahora este cdigo y gurdalo con un nombre de archivo como ejemplo4.php. A continuacin, sube el
ficheroalservidoryvisualizaelresultado.

<?php//Ejemplofuncionesbsicasaprenderaprogramar.com
$cadena="EstOeSUnAcadeNAdeCARActeres"
echostrtolower($cadena)
echo"<br/>"
echostrtoupper($cadena)
?>

Como vemos el comportamiento de las funciones es sencillo. Simplemente devuelven la cadena de caracteres pasada como
argumentoenminsculasomaysculasrespectivamente.

Tenencuentaquemuchasvecespararealizarcomparacionesoparaalmacenardatosserinteresanteuniformizarlainformacinque
sealmacena.Porejemplo,sisepideunaciudad,unusuariopuedeintroducirBuenosAires,otroBuenosaires,otroBUENOSAIRES.Si
usamosestasfunciones,podemosuniformizaryhacerquesiempresemuestrenoguardendeunamismamanera,locualfacilitarel
trabajoposterior.
http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=574:funcionescadenasphpstrreplacestrtolowercountcharsstrpostrim 3/7
23/2/2017 FuncionescadenasPHP:str_replace,strtolower,count_chars,strpos,trim,str_repeat,strstr,chr(CU00828B)

FUNCINCOUNT_CHARSYSUBSTR_COUNT

Lafuncincount_charssirveparacontarelnmerodeaparicionesdeuncarcterenunacadena.

Lasintaxisaempleareslasiguiente:

count_chars($cadena,$opcModo)

$opcModoesunenteroopcional.Sinoseespecificavale0pordefecto.Susvaloresadmitidosson:

0:sedevolverunarrayconelvalornumricoasciicomondiceylafrecuenciadecadacarcterasciicomovalor.

1:sedevolverunarrayconelvalornumricoasciicomondiceylafrecuenciadecadacarcterqueaparezcaalmenosunavezcomo
valor.

2:sedevolverunarraydecaracteresquenoaparecenenlacadena,conelvalornumricoasciicomondiceylafrecuenciadecada
carcterasciiquenoaparececomovalor.

3:devuelveunacadenaquecontienetodosloscaracteresnicos.

4:devuelveunacadenaquecontienetodosloscaracteresnoutilizados.

Nota:loscdigosnumricosasciivande0a255ynotodossonvisiblesporpantalla.

Ejemplo:

<?php//Ejemplocount_charsaprenderaprogramar.com
$cadena='esjueves'
$miArray=count_chars($cadena,1)
foreach($miArrayas$indiceNum=>$veces){
echo'Letra:'.chr($indiceNum).',encontrada'.$veces.'veces<br/>'
}
?>

Elresultadoesperadoes:Letra:,encontrada1veces.Letra:e,encontrada3veces.Letra:j,encontrada1veces.Letra:s,
encontrada2veces.Letra:u,encontrada1veces.Letra:v,encontrada1veces

Otrafuncintilessubstr_count($cadena,$subcadena).Estafuncinnosdevuelveelnmerodevecesqueaparecelasubcadena
dentrodelacadena.Porejemplo:

http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=574:funcionescadenasphpstrreplacestrtolowercountcharsstrpostrim 4/7
23/2/2017 FuncionescadenasPHP:str_replace,strtolower,count_chars,strpos,trim,str_repeat,strstr,chr(CU00828B)
<metacharset="utf8">
<?php//EjemplocursoPHPaprenderaprogramar.com
$cadena1='PedroJuanLuisMarcoLuisPedroJuanLuisPedro'
$cadena2='Luis'
echo'Luisaparece'.substr_count($cadena1,$cadena2).'veces'
?>

Elresultadoesperadoes<<Luisaparece3veces>>

OTRASFUNCIONESPARACADENASDETEXTO

PHPdefinenumerosasfuncionesnativasparaelmanejodecadenasdetexto.Vamosaveralgunasdeellas:

EJEMPLOS
FUNCIN UTILIDAD
aprenderaprogramar.com

strlen($cadena) Devuelvelalongitudonmerodecaracteresdelacadena Verentregasanterioresdelcurso

Sinoseespecifica$opcNumCardevuelvelasubcadenaentrela
substr($cadena,
posicin$inicioyelfindecadenasiendolaposicininiciallacero.Si
$inicio, Verentregasanterioresdelcurso
seespecifica$opcNumCarextrae$opcNumCarcaracteresdesdela
$opcNumCar)
posicin$inicio(inclusive).

$saludo="hoyesviernes"
ucfirst($cadena) Devuelvelacadenaconlaprimeraletraenmaysculas ucfirst($saludo)
//Hoyesviernes

$saludo="hoyesviernes"
Devuelvelacadenaconcadaunadesuspalabrasconlaprimeraletra
ucwords($cadena) echoucwords($saludo)
enmaysculas
//HoyEsViernes

Devuelvelaposicinenquecomienzalasubcadenaapartirdela
strpos($cadena, $saludo="hoyesviernes"
posicininicial(cero)sinoseespecifica$opcPosInicio,oapartirdela
$subCadena, echostrpos($saludo,"es")
posicin$opcPosIniciosiseespecifica.Sinoseencuentrala
$opcPosInicio) //4
subcadenadevuelvefalse.

$saludo="***hoyesviernes
***"
Sinoseespecifica$opcCaracteres,devuelvelacadenaeliminando echotrim($saludo,"*")
trim($cadena, espaciosenblanco,tabuladores,saltosdelneayretornosdecarro //hoyesviernes
$opcCaracteres) delprincipioyfinaldelacadena.Siseespecifica$opcCaracteres,se Nota:puedenofuncionarcomo
eliminanloscaracteresespecificados. seesperadebidoajuegode
caracteres,configuracinlocaly
configuracindelservidor.

$saludo="***hoyesviernes
***"
Sinoseespecifica$opcCaracteres,devuelvelacadenaeliminando echoltrim($saludo,"*")
ltrim($cadena, espaciosenblanco,tabuladores,saltosdelneayretornosdecarro //hoyesviernes***
$opcCaracteres) delprincipiodelacadena.Siseespecifica$opcCaracteres,se Nota:puedenofuncionarcomo
eliminanloscaracteresespecificados. seesperadebidoajuegode
caracteres,configuracinlocaly
configuracindelservidor.

http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=574:funcionescadenasphpstrreplacestrtolowercountcharsstrpostrim 5/7
23/2/2017 FuncionescadenasPHP:str_replace,strtolower,count_chars,strpos,trim,str_repeat,strstr,chr(CU00828B)

EJEMPLOS
FUNCIN UTILIDAD
aprenderaprogramar.com

$saludo="***hoyesviernes
***"
Sinoseespecifica$opcCaracteres,devuelvelacadenaeliminando echortrim($saludo,"*")
rtrim($cadena, espaciosenblanco,tabuladores,saltosdelneayretornosdecarro //***hoyesviernes
$opcCaracteres) delfinaldelacadena.Siseespecifica$opcCaracteres,seeliminanlos Nota:puedenofuncionarcomo
caracteresespecificados. seesperadebidoajuegode
caracteres,configuracinlocaly
configuracindelservidor.

chop Igualquertrim

$saludo='hola'
str_repeat($cadena, Devuelvelacadenarepetida$numVecessiendosteunnmero
str_repeat($saludo,3)
$numVeces) entero.
//holaholahola

Devuelvelasubcadenadesdelaprimeraaparicinde$desde
strstr($cadena, $saludo="hoyesviernes"
(incluida)hastaelfinalsinoseespecificaopcBooleanesteesfalse.
$desde, echostrstr($saludo,"es",false)
Si$opcBooleanestruedevuelvelasubcadenadesdeeliniciohastala
$opcBoolean) //esviernes
primeraaparicinde$desde(excluida).

strchr Igualquestrstr

Devuelveelcarctercorrespondientealcdigonumricoentero echochr(65).'eslasalida'
chr($ascii)
$asciisegnelcdigoascii //Aeslasalida

ExistenmsfuncionesparacadenasenPHPperolosprogramadoresnolassuelenconocertodas,yaquealgunassonparatareasmuy
especficas. No te preocupes por memorizar las funciones ni por conocerlas todas, simplemente s consciente de su existencia y
aprendeabuscarlascuandoteresultennecearias.SienalgnmomentonecesitasrealizartareasmuyespecficasconcadenasenPHP
puedes conocer todas las funciones existentes sobre cadenas acudiendo a la documentacin oficial de PHP sobre funciones de
cadenas,disponibleenhttp://php.net/manual/es/ref.strings.php

EJERCICIO

Creararchivosphpqueejecutenlatareaindicada:

a)Dadalacadena"Elabecedariocompletoesalgolargoydetallarloexhaustivamenteescostoso",indicarcuntasvecesaparececada
vocalusandofuncionesparacadenasPHP.

b) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", indicar qu consonantes son las
queaparecenycuntasvecesaparecenusandofuncionesparacadenasPHP.

c)Dadalacadena"Elabecedariocompletoesalgolargoydetallarloexhaustivamenteescostoso",mostrarlacadenadondetodaslas
ahayansidosustitudasporelsmbolo*.Porejemploenlugarde<<Elabecedario>>sehabrdemostrar<<El*beced*rio>>

d) Dada la cadena "El abecedario completo es algo largo y detallarlo exhaustivamente es costoso", mostrar la subcadena desde la
primeraaparicinde<<completo>>excluyendocompleto,esdecir,debermostrarse<<esalgolargoydetallarloexhaustivamente
escostoso>>.ParaellousaunaovariasfuncionesparacadenasPHP.

Paracomprobarsitusrespuestasycdigosoncorrectospuedesconsultarenlosforosaprenderaprogramar.com.

http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=574:funcionescadenasphpstrreplacestrtolowercountcharsstrpostrim 6/7
23/2/2017 FuncionescadenasPHP:str_replace,strtolower,count_chars,strpos,trim,str_repeat,strstr,chr(CU00828B)




Paraaccederalainformacingeneralsobreestecursoyallistadocompletodeentregaspulsaenestelink:Vercursocompleto.

Parahaceruncomentariooconsultautilizalosforosaprenderaprogramar.com,abiertosacualquierpersonaindependientementede
suniveldeconocimiento.

<Anterior Siguiente>

Copyright20062017aprenderaprogramar.comLawebabiertaacualquierpersonainteresadae

http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=574:funcionescadenasphpstrreplacestrtolowercountcharsstrpostrim 7/7

Anda mungkin juga menyukai