Hola,
Tus problemas son las comillas:
Caso 1:
Código PHP:
$texto=nl2br(htmlentities($row_textosblog['introduccion']
));
$texto=str_replace("[-b-]","<b>",$texto);
$texto=str_replace("[-/b-]","</b>",$texto);
echo $texto;
Si al principio pones las comillas al nl2br(), no se ejecuta la funcion, sino que el contenido de texto seria la cadena'nl2br(...'.
Caso 2:
Código PHP:
function ponertexto() {
global $row_textosblog;
return (nl2br(htmlentities($row_textosblog['introduccion'
])));
}
$texto=ponertexto();
$texto=str_replace("[-b-]","<b>",$texto);
$texto=str_replace("[-/b-]","</b>",$texto);
echo $texto;
En este caso, ademas de las comillas, la funcion solo mandaba al navegador el texto. Para recoger ese valor, tienes que usar el return. Ademas, $row_textoblog no esta definido dentro de la funcion, sino fuera. Para poder acceder a el dentro de la funcion, debes usar global. Aunque esta no es la mejor fomar de hacerlo, ya que obligas a que siempre que quieras usar la funcion, exista una variable llamada $row_textoblog o crear una nueva funcion con otra variable. La forma correcta de hacerlo con funciones es:
Código PHP:
function ponertexto($texto_a_cambiar) {
return (nl2br(htmlentities($texto_a_cambiar)));
}
$texto=ponertexto($row_textoblog['introduccion']);
$texto=str_replace("[-b-]","<b>",$texto);
$texto=str_replace("[-/b-]","</b>",$texto);
echo $texto;
Y un consejo, antes de correr, aprende a andar.
Suerte.