Foros del Web » Programando para Internet » PHP »

correr javascript desde un php , se puede ?

Estas en el tema de correr javascript desde un php , se puede ? en el foro de PHP en Foros del Web. Buenas como andan ? Les queria consultar lo siguiente. Tengo un html, con 2 javascripts, lo que hace el html es traducir lo que esta ...
  #1 (permalink)  
Antiguo 08/05/2008, 14:05
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
correr javascript desde un php , se puede ?

Buenas como andan ?
Les queria consultar lo siguiente.
Tengo un html, con 2 javascripts, lo que hace el html es traducir lo que esta escrito en el box "Type your text here" , lo traduce a idioma sanskrito en el box "See your results here" , y en el box de abajo que dice "Equivalent HTML text" pone los codigos html.


Lo que yo quiero es en un php teniedo una variable con el texto, ejecutar la funcion de javascript y que me devuelva a otra variable el codigo ese de html.

Esto lo hago de php porque tengo un archivo de texto muy grande (mas de 30mb) que estoy haciendole varias conversiones y algunas palabras tiene que traducirse con esto.

aca les copio los codigos y mas abajo pongo un link para que lo vean funcionando

HTML:
Código PHP:

<html>

<
head>
  <
meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
  <
link rel='stylesheet' type='text/css' href='languages.css' />
  <
title>Romanized latin to Sanskrit
  
</title>
  <
script type='text/javascript' src='sanskrit.js'>
    
  
</script>
  <script src='converter.js' type='text/javascript'>
    
  </script>
</head>
<body>
  <h2>Transliterate to Sanskrit
  </h2>
<form name='convarea' action=''>
  <table>
    <tr>
      <th>
        Type your text here
      </th>
      <th>
        See your results here
      </th>
    </tr>
    <tr>
      <td>
        <textarea name='many_words_text' rows='10' cols='40' onfocus='javascript:print_many_words()' onkeyup='javascript:print_many_words()'>romanalipyAH devanAgarIlipyAm parivartanam
        </textarea>
      </td>
      <td>
        <textarea name='converted_text' cols='40' rows='7' class="big">
          
        </textarea>
      </td>
    </tr>
    <tr>
      <th colspan='2'>
        Equivalent HTML text
      </th>
    </tr>
    <tr>
      <td colspan='2'>
        <textarea name='html_text' rows='5' cols='80' readonly='readonly'>
          
        </textarea>
      </td>
    </tr>
  </table>
</form>
  <table>
  <tr>
    <td>
      <table>
        <tr>
          <td>
<table border='1'>
  <tr>
    <th colspan='12'>Vowels
    </th>
  </tr>
  <tr>
    <td class='mg'>अ
    </td>
    <td>a
    </td>
    <td class='mg'>आ
    </td>
    <td>A
    </td>
    <td class='mg'>इ
    </td>
    <td>i
    </td>
    <td class='mg'>ई
    </td>
    <td>I
    </td>
    <td class='mg'>उ
    </td>
    <td>u
    </td>
    <td class='mg'>ऊ
    </td>
    <td>U
    </td>
  </tr>
  <tr>
    <td class='mg'>ऋ
    </td>
    <td>R
    </td>
    <td class='mg'>&#2316
    </td>
    <td>lR
    </td>
    <td class='mg'>ए
    </td>
    <td>e
    </td>
    <td class='mg'>ऐ
    </td>
    <td>ai
    </td>
    <td class='mg'>ओ
    </td>
    <td>o
    </td>
    <td class='mg'>औ
    </td>
    <td>au
    </td>
  </tr>
</table>
          </td>
        </tr>
        <tr>
          <td>
<table border='1'>
  <tr>
    <th colspan='10'>Specials
    </th>
  </tr>
  <tr>
    <td class='mg'>ः
    </td>
    <td>H, :
    </td>
    <td class='mg'>ं
    </td>
    <td>M
    </td>
    <td class='mg'>।
    </td>
    <td>|
    </td>
    <td class='mg'>॥
    </td>
    <td>||
    </td>
    <td class='mg'>ॐ
    </td>
    <td>oM
    </td>
  </tr>
</table>
          </td>
        </tr>
      </table>
    </td>
    <td>
<table border='1'>
  <tr>
    <th colspan='10'>Consonants
    </th>
  </tr>
  <tr>
    <td class='mg'>क्
    </td>
    <td>k
    </td>
    <td class='mg'>ख्
    </td>
    <td>kh
    </td>
    <td class='mg'>ग्
    </td>
    <td>g
    </td>
    <td class='mg'>घ्
    </td>
    <td>gh
    </td>
    <td class='mg'>ङ्
    </td>
    <td>G
    </td>
  </tr>
  <tr>
    <td class='mg'>च्
    </td>
    <td>c
    </td>
    <td class='mg'>छ्
    </td>
    <td>C
    </td>
    <td class='mg'>ज्
    </td>
    <td>j
    </td>
    <td class='mg'>झ्
    </td>
    <td>jh
    </td>
    <td class='mg'>ञ्
    </td>
    <td>J
    </td>
  </tr>
  <tr>
    <td class='mg'>ट्
    </td>
    <td>T
    </td>
    <td class='mg'>ठ्
    </td>
    <td>Th
    </td>
    <td class='mg'>ड्
    </td>
    <td>D
    </td>
    <td class='mg'>ढ्
    </td>
    <td>Dh
    </td>
    <td class='mg'>ण्
    </td>
    <td>N
    </td>
  </tr>
  <tr>
    <td class='mg'>त्
    </td>
    <td>t
    </td>
    <td class='mg'>थ्
    </td>
    <td>th
    </td>
    <td class='mg'>द्
    </td>
    <td>d
    </td>
    <td class='mg'>ध्
    </td>
    <td>dh
    </td>
    <td class='mg'>न्
    </td>
    <td>n
    </td>
  </tr>
  <tr>
    <td class='mg'>प्
    </td>
    <td>p
    </td>
    <td class='mg'>फ्
    </td>
    <td>ph
    </td>
    <td class='mg'>ब्
    </td>
    <td>b
    </td>
    <td class='mg'>भ्
    </td>
    <td>bh
    </td>
    <td class='mg'>म्
    </td>
    <td>m
    </td>
  </tr>
  <tr>
    <td class='mg'>य्
    </td>
    <td>y
    </td>
    <td class='mg'>र्
    </td>
    <td>r
    </td>
    <td class='mg'>ल्
    </td>
    <td>l
    </td>
    <td class='mg'>व्
    </td>
    <td>v
    </td>
    <td class='mg'>श्
    </td>
    <td>z
    </td>
  </tr>
  <tr>
    <td class='mg'>ष्
    </td>
    <td>S
    </td>
    <td class='mg'>स्
    </td>
    <td>s
    </td>
    <td class='mg'>ह्
    </td>
    <td>h
    </td>
  </tr>
</table>
    </td>
  </tr>
</table>
</body>
</html> 
sanskrit.js
Código PHP:
// This file is part of Indian Language Converter

var vowels "(A)|(H)|(I)|(M)|(R)|(U)|(\\:)|(\\|(\\|)?)|(a((i)|(u))?)|(e)|(i)|(lR)|(o(M)?)|(u)"
var consonants "(C)|(D(h)?)|(G)|(J)|(N)|(S)|(T(h)?)|(b(h)?)|(c)|(d(h)?)|(g(h)?)|(h)|(j(h)?)|(k(h)?)|(l)|(m)|(n)|(p(h)?)|(r)|(s)|(t(h)?)|(v)|(y)|(z)"
var letter_codes = {
"~a" "अ",
"~A" "आ",
"~i" "इ",
"~I" "ई",
"~u" "उ",
"~U" "ऊ",
"~R" "ऋ",
"~lR" "&#2316",
"~e" "ए",
"~ai" "ऐ",
"~o" "ओ",
"~au" "औ",
"a" "",
"A" "ा",
"i" "ि",
"I" "ी",
"u" "ु",
"U" "ू",
"R" "ृ",
"lR" "ॄ",
"e" "े",
"ai" "ै",
"o" "ो",
"au" "ौ",
"k" "क",
"kh" "ख",
"g" "ग",
"gh" "घ",
"G" "ङ",
"c" "च",
"C" "छ",
"j" "ज",
"jh" "झ",
"J" "ञ",
"T" "ट",
"Th" "ठ",
"D" "ड",
"Dh" "ढ",
"N" "ण",
"t" "त",
"th" "थ",
"d" "द",
"dh" "ध",
"n" "न",
"p" "प",
"ph" "फ",
"b" "ब",
"bh" "भ",
"m" "म",
"y" "य",
"r" "र",
"l" "ल",
"v" "व",
"z" "श",
"S" "ष",
"s" "स",
"h" "ह",
"H" "ः",
":" "ः",
"M" "ं",
"|" "।",
"||" "॥",
"oM" "ॐ",
"~H" "ः",
"~:" "ः",
"~M" "ं",
"~|" "।",
"~||" "॥",
"~oM" "ॐ",
"*" "्"

converter.js
Código PHP:

function split_word(word)
{
  var 
syllables = new Array(0);
  var 
vowel_start_p true;
  while (
word.length) {
    
re = new RegExp(vowels);
    var 
index word.search(vowels);
    if (
index == 0) {  //the vowel's at the start of word
      
var matched re.exec(word)[0]; //what is it?
      
if (vowel_start_p) {
    
syllables.push(("~"+matched)); //one more to the syllables
      
} else {
    
syllables.push(matched);
      }
      
vowel_start_p true;
      
word word.substring(matched.length);
    } else {
      
re = new RegExp(consonants);
      var 
index word.search(consonants);
      if (
index == 0) {
    var 
matched re.exec(word)[0];
    
syllables.push(matched);
    
vowel_start_p false;
    
word word.substring(matched.length);

    
//look ahead for virama setting
    
var next word.search(vowels);
    if (
next != || word.length == 0)
      
syllables.push('*');
      } else {
    
syllables.push(word.charAt(0));
    
word word.substring(1);
      }
    }
  }
  return 
syllables;
}

function 
match_code(syllable_mcc)
{
  var 
matched letter_codes[syllable_mcc];

  if (
matched != null) return matched;
  return 
syllable_mcc;
}

function 
one_word(word_ow)
{
  if (!
word_ow) return "";
  var 
syllables_ow split_word(word_ow);
  var 
letters_ow = new Array(0);

  for (var 
i_ow 0i_ow syllables_ow.lengthi_ow++) {
    
letters_ow.push(match_code(syllables_ow[i_ow]));
  }
  return 
letters_ow.join("");
}

function 
many_words(sentence)
{
  var 
regex "((" vowels ")|(" consonants "))+";
  var 
words = new Array(0);
  while (
sentence.length >= 1) {
    
re = new RegExp("^``" regex);
    var 
match re.exec(sentence);
    if (
match != null) {
      
match match[0];
      
words.push("`");
      
words.push(one_word(match.substring(2)));
      
sentence sentence.substring(match.length);
    } else {
      
re = new RegExp("^`" regex);
      
match re.exec(sentence);
      if (
match != null) {
    
match match[0];
    
words.push(match.substring(1));
    
sentence sentence.substring(match.length);
      } else {
    
re = new RegExp("^" regex);
    
match re.exec(sentence);
    if (
match != null) {
      
match match[0];
      
words.push(one_word(match));
      
sentence sentence.substring(match.length);
    } else {
      
words.push(sentence.charAt(0));
      
sentence sentence.substring(1);
    }
      }
    }
  }
  return 
words.join("");
}

function 
print_many_words(index_pmw)
{
  var 
text_pmw many_words(document.convarea.many_words_text.value);

  var 
ans "";
  while (
text_pmw.length) {
    var 
unicode_chars = /&#[0-9]+;/;
    
re unicode_chars;
    var 
matche re.exec(text_pmw);
    if (
matche != null) {
      
matche matche[0];
      
search text_pmw.search(unicode_chars);
      
ans += text_pmw.substring(0search);
      
ans += String.fromCharCode(matche.match(/[0-9]+/));
      
text_pmw text_pmw.substring(search matche.length);
    } else {
      
ans += text_pmw.substring(0);
      
text_pmw "";
    }
  }

  
document.convarea.converted_text.value ans;

  var 
html_txt "";
  for (
i=0i<ans.lengthi++) 
  {
    var 
unicode_character ans.charCodeAt(i);
    switch (
unicode_character
    {
    case 
32:
      
html_txt += " ";
      break;
    case 
10:
    case 
13:
      
html_txt += "<br/>\n";
      break;
    default:
      
html_txt += "&#" unicode_character ";";
    }
  }

  
document.convarea.html_text.value html_txt;

  #2 (permalink)  
Antiguo 08/05/2008, 14:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: correr javascript desde un php , se puede ?

(en mi mac en firefox no se ven los caracteres sanskritos y se ven signos de pregunta , pero en Safari si se ven bien los simbolos, les advierto por si alguno prueba y ve signos de pregunta, en el explorer no se como aparecera)

aca va el link para verlo funcionado
http://www.iit.edu/~laksvij/language/sanskrit.html


y aca se pueden bajar los archivos fuente, es FREE
http://www.iit.edu/~laksvij/language/ilc.zip
  #3 (permalink)  
Antiguo 09/05/2008, 10:59
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: correr javascript desde un php , se puede ?

alguna pequeña ayudita ???
  #4 (permalink)  
Antiguo 09/05/2008, 12:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
Antigüedad: 16 años
Puntos: 4
Re: correr javascript desde un php , se puede ?

Cita:
Iniciado por anibal_cdf Ver Mensaje
Lo que yo quiero es en un php teniedo una variable con el texto, ejecutar la funcion de javascript y que me devuelva a otra variable el codigo ese de html.
Yo no lo he usado aunque he leido que si se puede correr javascript en el lado del servidor.
PERO en éste caso no le veo ningún sentido. Lo que necesitas simplemente es hacer en PHP una función equivalente a la que ya tienes en Javascript.
  #5 (permalink)  
Antiguo 09/05/2008, 12:33
 
Fecha de Ingreso: marzo-2008
Mensajes: 18
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: correr javascript desde un php , se puede ?

mmm... talvez algo como esto funcione:

Código PHP:
echo "<SCRIPT LANGUAGE = 'JavaScript'>";
echo 
"self.parent.location.href='" $forwarding_url "'; \n";
echo 
"</SCRIPT>"
Como ves ahi se crea un code snipped del javascript que se quiere ejecutar...
podrias modificar el "self.parent.location.href='" . $forwarding_url ." por algo como:

Código PHP:
echo "<SCRIPT LANGUAGE = 'JavaScript'>";
echo 
"nombreDeFuncion(parametros); \n";
echo 
"</SCRIPT>"
  #6 (permalink)  
Antiguo 09/05/2008, 12:36
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: correr javascript desde un php , se puede ?

PHP no puede correr Javascript ; por que te preguntaras ?

bueno la respuesta es que php es del lado del servidor.. y por esa simple razon no puede correr algo del lado del cliente en el lado del servidor... lo que si puedes hacer es generar un archivo .js el cual contenga directrices programadas en PHP y que a la final haga un echo y lo guardes en el archivo .js previamente nombrado.. saludos..
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #7 (permalink)  
Antiguo 09/05/2008, 12:36
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
Antigüedad: 16 años
Puntos: 4
Re: correr javascript desde un php , se puede ?

FabianIB lo que propones es para generar codigo HTML que indica que cierta parte debe ejecutarse en Javascript del CLIENTE.
Y si he entendido bien la pregunta de anibal_cdf, lo que quiere es ejecutarlo en su SERVIDOR
  #8 (permalink)  
Antiguo 09/05/2008, 13:10
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: correr javascript desde un php , se puede ?

exacto, es mas, no me sirve tampoco eso de andar redireccionando y demas.

necesito hacer algo asi digamos:
Cita:
$sans='
<Script Language="JavaScript">
var xx1=print_many_words('.$palabra.');
document.write(xx1);
</Script>';

echo $palabra;
eso no funciona ...

y pasar las funciones de js a php no tengo ni idea de muchas funciones que usan ahi, ojala pudiera hacer eso en php.
  #9 (permalink)  
Antiguo 09/05/2008, 13:32
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Re: correr javascript desde un php , se puede ?

Usa ajax...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #10 (permalink)  
Antiguo 09/05/2008, 13:39
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Re: correr javascript desde un php , se puede ?

Y asi?

Código PHP:
    $sans="
        <Script Language=\"JavaScript\" src=\"rutaaaaaa.js\">
        var xx1=print_many_words('$palabra');
        document.write(xx1);
        </Script>"
;
    echo 
$sans
  #11 (permalink)  
Antiguo 09/05/2008, 14:01
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: correr javascript desde un php , se puede ?

farra, no tengo la menor idea y estoy re perdido con ajax

farra, eso probe, pero no me guarda en $sans xx1, me guarda el script completo ... o sea si $sans lo grabo a un archivo me graba el script ... pero el echo $sans me ejecuta el script y en pantalla si lo veo bien

yo lo necesito para grabar el resultaod a un archivo

esto me funciona, lo acabo de hacer:

Código PHP:
 <script src='converter.js' type='text/javascript'></script>

<?php

$word
='prakAz';

?>

<Script Language="JavaScript">
var xx1=print_many_words("<?php echo $word?>");
document.cookie = "SANS="+xx1;
document.write(xx1);
</Script>

<?php

if(isset($_COOKIE['SANS']))
    
$sans='"'.$_COOKIE['SANS'].'"';

echo 
"<br>Palabra: $word <br>";
echo 
"Sans: $sans <br>";

?>
el problema es que xx1 es
Código PHP:
&#2346 &#2381 &#2352 &#2325 &#2366 &#2358 &#2381 
(en vez de espacios van punto y coma , pasa que si pongo punto y coma aparecen signos de pregunta, salvo que usen safari)


y los punto y coman me lo cortan al parecer porque mi resultado termina siendo:
Código PHP:
<script src='converter.js' type='text/javascript'></script>





<Script Language="JavaScript">
var xx1=print_many_words("prakAz");
document.cookie = "SANS="+xx1;
document.write(xx1);
</Script>

<br>Palabra: prakAz <br>Sans: "&#2346" <br> 
  #12 (permalink)  
Antiguo 09/05/2008, 16:46
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Re: correr javascript desde un php , se puede ?

te recomiendo mejor usar un iframe...
JAVASCRIPT es un lenguaje de cliente
PHP es un lenguaje de Servidor

Javascript ejecutando PHP (y otras cosillas)=AJAX
PHP ejecutando Javascript= NO SE HACE realmente nunca lo he visto, pero por logica se me ocurre que si permitieras en un servidor ejecutar js, cualquiera te hace pedazos el servidor, ya que al ser un lenguaje de cliente... cualquier cliente podria inyectar codigo js en tu server.... al cesar lo que es del cesar.... javascript cliente php servidor... mejor usa un iframe
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #13 (permalink)  
Antiguo 09/05/2008, 18:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: correr javascript desde un php , se puede ?

Javascript ejecutando PHP NO es cierto.... javascript nunca ejecuta PHP, solo conecta como lo haria habitualmente por HTTP... pero por debajo del agua, Ajax.... :s
  #14 (permalink)  
Antiguo 10/05/2008, 03:47
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
Antigüedad: 16 años
Puntos: 4
Re: correr javascript desde un php , se puede ?

Cita:
Iniciado por xcars Ver Mensaje
Javascript ejecutando PHP (y otras cosillas)=AJAX
Falso, Javascript no ejecuta PHP. Lo que si puede hacer es lanzar peticiones al servidor para que sean resueltas allí con PERL, python, PHP, o lo que se quiera/tenga. Y eso no tiene porque ser obligatoriamente AJAX.
  #15 (permalink)  
Antiguo 11/05/2008, 21:04
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: correr javascript desde un php , se puede ?

miren lo que hice, con cookies si funcoina, pero no me toma los punto y comas que tiene el texto.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:42.