Retroceder   Foros del Web > Programación para sitios web > PHP

Respuesta
 
Herramientas Desplegado
Antiguo 08-may-2008, 14:05   #1 (permalink)
anibal_cdf no se puede cailificar en este momento
 
Fecha de Ingreso: marzo-2007
Mensajes: 143
Enviar un mensaje por MSN a anibal_cdf
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;

anibal_cdf está desconectado   Responder Citando
Antiguo 08-may-2008, 14:06   #2 (permalink)
anibal_cdf no se puede cailificar en este momento
 
Fecha de Ingreso: marzo-2007
Mensajes: 143
Enviar un mensaje por MSN a anibal_cdf
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
anibal_cdf está desconectado   Responder Citando
Antiguo 09-may-2008, 10:59   #3 (permalink)
anibal_cdf no se puede cailificar en este momento
 
Fecha de Ingreso: marzo-2007
Mensajes: 143
Enviar un mensaje por MSN a anibal_cdf
Re: correr javascript desde un php , se puede ?

alguna pequeña ayudita ???
anibal_cdf está desconectado   Responder Citando
Antiguo 09-may-2008, 12:24   #4 (permalink)
a2a2 tiene algunos puntos positivos de karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
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.
a2a2 está desconectado   Responder Citando
Antiguo 09-may-2008, 12:33   #5 (permalink)
FabianIB ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 5
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>"
FabianIB está desconectado   Responder Citando
Antiguo 09-may-2008, 12:36   #6 (permalink)
eddwinpaz sólo puede mejorar
 
Avatar de eddwinpaz
 
Fecha de Ingreso: noviembre-2007
Ubicación: San Cristobal , Venezuela
Mensajes: 622
Enviar un mensaje por MSN a eddwinpaz Enviar un mensaje por Skype™ a eddwinpaz
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..
__________________
Necesita desarrollar su aplicacion web ? Naptel La empresa venezolana de aplicaciones web le puede ayudar. www.naptel.com.ve
eddwinpaz está desconectado   Responder Citando
Antiguo 09-may-2008, 12:36   #7 (permalink)
a2a2 tiene algunos puntos positivos de karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 303
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
a2a2 está desconectado   Responder Citando
Antiguo 09-may-2008, 13:10   #8 (permalink)
anibal_cdf no se puede cailificar en este momento
 
Fecha de Ingreso: marzo-2007
Mensajes: 143
Enviar un mensaje por MSN a anibal_cdf
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.
anibal_cdf está desconectado   Responder Citando
Antiguo 09-may-2008, 13:32   #9 (permalink)
farra está en el buen camino
 
Avatar de farra
 
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 197
Re: correr javascript desde un php , se puede ?

Usa ajax...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....
farra está desconectado   Responder Citando
Antiguo 09-may-2008, 13:39   #10 (permalink)
Sergestux no se puede cailificar en este momento
 
Avatar de Sergestux
 
Fecha de Ingreso: agosto-2007
Ubicación: Tijuas
Mensajes: 356
Enviar un mensaje por Yahoo  a Sergestux
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
__________________
You'll be free, hackers, you'll be free
Sergestux está desconectado   Responder Citando
Antiguo 09-may-2008, 14:01   #11 (permalink)
anibal_cdf no se puede cailificar en este momento
 
Fecha de Ingreso: marzo-2007
Mensajes: 143
Enviar un mensaje por MSN a anibal_cdf
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>