
02/05/2009, 10:28
|
 | | | Fecha de Ingreso: agosto-2008 Ubicación: echo $_REQUEST['ubicacion'];
Mensajes: 474
Antigüedad: 16 años, 6 meses Puntos: 13 | |
Respuesta: Añadirle BBcodes a una pagina web mira este es toda la pagina donde se encuentra el textarea
Código:
<?php
/*
Manual de como implementar BBcode
Creado por: OmaRPR y JuSePe
Para PHP-Hispano.net (#php_para_torpes)
*/
// Para ejecutar esto pondras [echo bbcodes ($texto);] $texto es la variable que tiene el
// contenido que le implantara los bbcodes.
function bbcodes ($text) {
// Links para URLs. Formato: [web=http://php-hispano.net]PHPHispano[/web]
$finaltext = eregi_replace("\\[web=([^\\[]*)\\]([^\\[]*)\\[/web\\]", "<a target=\"_blank\" href=\"\\1\">\\2</a>", $text);
// Si no ponen atributos en [web]. Formato: [web]http://PHPHispano.net[/web]
$finaltext = eregi_replace("\\[web\\]([^\\[]*)\\[/web\\]","<a target=\"_blank\" href=\"\\1\">\\1</a>",$finaltext);
/* Este bucle lo hacemos por si ejempo usan u i y b en un solo texto :D */
while($bucle < 5) {
// Para poner linea al texto. Formato: PHPHispano
$finaltext = eregi_replace("\\[u\\]([^\\[]*)\\[/u\\]","<u>\\1</u>", $finaltext);
// Para poner el text en italic. Formato: PHPHispano
$finaltext = eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]","<em>\\1</em>", $finaltext);
// Para poner texto en negrita Formato: PHPHispano
$finaltext = eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]","<strong>\\1</strong>", $finaltext);
$bucle++;
}
// Para centralizar un text. Formato: PHPHispano
$finaltext = eregi_replace("\\[center\\]([^\\[]*)\\[/center\\]","<center>\\1</center>", $finaltext);
// Pone el texto como una cita. Formato: [cita]La calidad nunca es un accidente; siempre es el resultado de un esfuerzo de la inteligencia[/cita]
$finaltext = eregi_replace("\\[cita\\]([^\\[]*)\\[/cita\\]","\n<div class=\"css_title\">Cita\n<div class=\"css\">\\1</div></div>", $finaltext);
// Sacamos el color al codigo PHP. Formato: preg_match_all ("/(\[)(php)(])(.*)(\[\/php\])/iU", $finaltext, $l);
for ($i=0; $i< count($l[0]); $i++) { $finaltext = str_replace($l[0][$i],phpcojecolor($l[4][$i]),$finaltext); }
// Retorno como queda el bbcode.
return $finaltext;
}
function phpcojecolor ($php) {
// Remplaza los <br \> por lineas.
$php = str_replace("<br \>","\n",$php);
ob_start(); // Abirmos el OB
highlight_string($php); // Tiramos el codigo coloreado
$cfinal = ob_get_contents(); // COjo el codigo que tire despues de haber abierto el ob
ob_end_clean(); // Borro el ob para que no se vea en la web
// A continuación hemos hecho uso de una función realizada por Anonimo y que copié de la web www.pastebin.com. Sirve para mostrar información sobre las funciones... [Proximas 7 lineas]
$keycol=ini_get("highlight.keyword");
$manual="http://www.php.net/manual-lookup.php?lang=es&pattern=";
$cfinal=preg_replace(
'{([\w_]+)(\s*</font>)'.
'(\s*<font\s+color="'.$keycol.'">\s*\()}m',
'<a href="'.$manual.'$1" title="Ayuda en PHP.net sobre $1" target="_blank">$1</a>$2$3',
$cfinal);
return "\n<div class=\"css_title\">Código PHP:\n<div class=\"css\">".$cfinal."</div></div>"; // Retorno el codigo PHP Coloreado
}
// Debes poner la siguiente clase en tu hoja de estilos o en su defecto en tu código html.
// Estas clases es para que funciones lo de las citas y lo de mostrar codigo PHP :D
// .css_title {
// margin: 10px 5px 10px 15px;
// font-size: 10px;
// width: 90%;
//
// }
// .css {
// background: #DCDCDC;
// border: 1px solid #8FB1EE;
// border-left: 7px solid #8FB1EE;
// font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
// font-size: 11px;
// color: #000000;
// padding: 5px;
// width: 90%;
// margin: 0px;
// }
?>
<?php
// incluimos el archivo de conexion
include ('db-cnx.php');
// recibimos el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == 'Enviar'){
// comprobamos que el formulario no envie campos vacios
if(!empty($_POST['notTitulo']) && $_POST['notTexto'] &&
$_POST['notCategoriaID']){
// creamos las variables y les asignamos los valores a insertar
$notTitulo = $_POST['notTitulo'];
$notTexto = $_POST['notTexto'];
$notCategoriaID = $_POST['notCategoriaID'];
$notTexto = htmlspecialchars($notTexto);
$notTitulo = htmlspecialchars($notTitulo);
// hacemos el INSERT en la BD
$sqlInsertNot = mysql_query("INSERT INTO sn_noticias
(notTitulo, notTexto, notCategoriaID)
VALUES ('$notTitulo', '$notTexto', '$notCategoriaID')",
$db_link) or die(mysql_error());
// enviamos un mensaje de exito
echo "Los datos fueron gurdados correctamente. <a href='/index.php'>Volver a la pagina principal</a>";
}else{
// si el formulario envia algun campo vacio
// enviamos un mensaje de error
echo "Debe llenar todos los campos del formulario";
}
}
?>
<?
$text = bbcodes($notTexto)
?>
<!-- el formulario -->
<form name="noticia" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<p>
Título de la Noticia<br />
<input type="text" name="notTitulo" size="50" />
</p>
<p>
Texto de la Noticia<br />
<textarea name="notTexto" rows="10" cols="50"></textarea>
</p>
<p>
Categoría<br />
<select name="notCategoriaID">
<option value="">Escoger de la Lista</option>
<?php
// asignamos una categoria a la noticia
// mediante un select
$sqlQueryCat = mysql_query("SELECT * FROM sn_categorias", $db_link)
or die(mysql_error());
// creamos un bucle while
// que nos muestre todas las categorias
// que tenemos guardadas en la BD
while($rowCat = mysql_fetch_array($sqlQueryCat)){
echo "<option value='$rowCat[cat_ID]'>$rowCat[catCategoria]</option>";
}
?>
</select>
</p>
<p>
<input type="submit" name="enviar" value="Enviar" />
</p>
</form>
ahi se encuentra todo |