Yo recupero el valor de un campo de texto así:
Código PHP:
<% Response.Write(Request.form("contenido"))%>
La pregunta es, como le pongo el salto de línea para se muestre envarias líneas y no dañle el diseño?
Gracias de antemano.
| ||||
variable = replace(variable,chr(10),"<br />") Para que estudies Cita: Función Replace Devuelve una cadena en la que una subcadena se ha sustituido por otra subcadena un número de veces especificado. Replace(expresión, buscar, reemplazarCon[, inicio[, número[, comparar]]]) Argumentos expresión Requerido. Expresión de cadena que contiene la subcadena que se va a reemplazar. buscar Requerido. Subcadena que se busca. reemplazarCon Requerido. Subcadena de reemplazo. inicio Opcional. Posición dentro de expresión donde va a comenzar la subcadena de búsqueda. Si se omite, se supone 1. Se debe utilizar junto con número. número Opcional. Número de sustituciones de subcadena que se va a realizar. Si se omite, el valor predeterminado es -1, que significa hacer todas las sustituciones posibles. Se debe utilizar junto con inicio. comparar Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores. Si se omite, el valor predeterminado es 0, que significa realizar una comparación binaria. Valores El argumento comparar puede tener los siguientes valores: Constante Valor Descripción vbBinaryCompare 0 Realiza una comparación binaria. vbTextCompare 1 Realiza una comparación textual. Valores de retorno Replace devuelve los siguientes valores: Si Replace devuelve expresión es de longitud cero Cadena de longitud cero (""). expresión es Null Un error. buscar es de longitud cero Copia de expresión. reemplazarcon es de longitud cero Copia de expresión con todas las apariciones de buscar eliminadas. inicio > Len(expresión) Cadena de longitud cero. número es 0 Copia de expresión. Comentarios El valor de retorno de la función Replace es una cadena, con sustituciones realizadas, que comienza en la posición especificada por inicio y termina al final de la cadena expresión. No es una copia de la cadena original de principio a fin. El siguiente ejemplo utiliza la función Replace para devolver una cadena: Dim MiCadena MiCadena = Replace("XXpXXPXXp", "p", "Y") ' Una comparación binaria que comienza en el principio de la cadena. Devuelve "XXYXXPXXY". MiCadena = Replace("XXpXXPXXp", "p", "Y", ' Una comparación textual que comienza en la posición 3. Devuelve "YXXYXXY". 3, -1, 1) |
| ||||
un ejemplo ![]()
__________________ Usa títulos específicos y con sentido En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema. |
| ||||
Muchas Gracias, una cosa más. Gracias. Pero cómo puedo poner esto en una sola línea? Código PHP:
__________________ EL LIMITE ES EL UNIVERSO |
| ||||
Nota: Cuando abres un espacio de ASP en tu archivo, no siempre es para sacar algo, es decir, cuando habras un espacio de ASP no te preocupes por el resto, puedes tener algo como <htm> <body> <input value="<% 'Aqui abir un espacio para ASP 'Linea 1 en ASP, recuperando el dato contenido = Request.form("contenido") 'Linea 2 en ASP, dando formato al dato contenido = replace(contenido,chr(10),"<br>") 'Linea 3 en ASP, escribiendo el dato en pantalla Response.write contenido 'Cerrar el espacio de ASP, entonces inmediatamente sigo la estructura de mi HTML %>"> </body> </html> Eso se traduce en tu HTML como <htm> <body> <input value="VALOR_EN_CONTENIDO"> </body> </html> Es un ejemplo, seguramente estas usando un textarea para esa aplicacion, espero que te quede mas claro como lo puedes combinar. |
| ||||
viendo el post de Neuron, me surgio una duda a lo mejor me puede ayudar. Al abrir muchas <%%> en una pagina conbinada con etiquetas HTML no pierde rendimiento o hace mas lenta la pagina? tengo claro que es mas rapido <%%> que un response.Write pero al abrir n Etiquetas ASP que pasa?
__________________ Usa títulos específicos y con sentido En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema. |
| ||||
muzztein la idea tuya es programar mas uniforme y con response.write?
__________________ Usa títulos específicos y con sentido En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema. |
| ||||
Cita: Mezclar ASP y HTML es lo más rápido que puedas utilizar. Prueba esto:
Iniciado por dobled Al abrir muchas <%%> en una pagina conbinada con etiquetas HTML no pierde rendimiento o hace mas lenta la pagina? tengo claro que es mas rapido <%%> que un response.Write pero al abrir n Etiquetas ASP que pasa? Cita: y por lo colocar un response.write y un replace en una sola intrucción: <% 'MODO 1 tiempoinicio = Timer For i = 1 To 800000 %>*<% Next tiempototal = FormatNumber(Timer - tiempoinicio, 3, True) Response.Write "<br>MODO 1: " & tiempototal & "<br>" 'MODO 2 tiempoinicio = Timer For i = 1 To 800000 Response.Write "*" Next tiempototal = FormatNumber(Timer - tiempoinicio, 3, True) Response.Write "<br>MODO 2: " & tiempototal & "<br>" 'MODO 3 tiempoinicio = Timer With Response For i = 1 To 800000 .Write "*" Next End With tiempototal = FormatNumber(Timer - tiempoinicio, 3, True) Response.Write "<br>MODO 3: " & tiempototal & "<br>" %> ![]() |
| ||||
Gracias Myakire justamente en ese ejemplo se basa mi pregunta ![]()
__________________ Usa títulos específicos y con sentido En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema. |
| ||||
No se como estes diseñando la tabla, ya que no pones código ni nada, pero si el problema es que necesitas que cada celda tenga una anchura específica, puedes colocar dentro de cada celda un textarea son bordes y salto de linea, o implementarte una rutina que lee hasta cierto número de caracteres y si sobrepasa algún límite que tu ya hayas previsto, te regrese del inicio a la última palabra antes de dicho límite y así sucesivamente; o colocar en cada celda una capa formateada; etc. Cosa de ingeniárselas. Saludos |
| ||||
Hola! <% diagnostico = replace(diagnostico,chr(10),"<br />") : Response.Write(Request.form("diagnostico"))%> Oye ?? si es en un textarea entonces no debes necesitas el replace, ahi se escribe como texto normal, y bueno, lo que tienes esta mal, si eso acaso funcionara seria asi: <% diagnostico = replace(diagnostico,chr(10),"<br>") : Response.Write(Request.form("diagnostico"))%> Pero no funcionara en el textarea, para el textarea sigue manteniendo el chr(10) normal, pero bueno si no te funciona prueba con esto: <% diagnostico = replace(diagnostico , chr(10), VbCrlf ) : Response.Write(Request.form("diagnostico"))%> Y bien, como dice Myakire, el Response.write el lo mas rapido, pero ademas es lo mas eficiente, es cuestion de como se trata la memoria, de hecho por esa razon inicie el tema de "Sistemas de Templates", que ya nadie contesto, pero bueno eso es otro tema, les dejo esta liga para que vean mas claro a lo que me refiero: http://msdn.microsoft.com/library/de...aspstrcatn.asp Encontraran cosas muy interesantes ahi, y mis razones para iniciar el tema de Sistemas de Templates. :( Pero naide me contesto ... bay |
| ||||
Un momento... me parece que no tiene mucha lógica ésto:
Código:
Que es lo mismo que..<% diagnostico = replace(diagnostico,chr(10),"<br />") : Response.Write(Request.form("diagnostico"))%>
Código:
(lo coloco así porque me gusta más, nada más que por eso)<% diagnostico = replace(diagnostico,chr(10),"<br />") Response.Write(Request.form("diagnostico")) %> Fijate... a una variable llamada 'diagnostico' le estás asignando el resultante de un replace() de la misma variable, reemplazando los saltos de línea por el TAG de salto de línea de HTML (<br>) Luego, en vez de mandar a "imprimir" (response.write) la variable llamada 'diagnostico ', "imprimís" lo que llega por formulario sin el replace. Para mi, y sin saber exactamente lo que estás haciendo, debería quedar así:
Código:
Saludos <% diagnostico = replace(Request.Form(diagnostico),chr(10),"<br />") Response.Write(diagnostico) %>
__________________ ...___... |