Re: [PHP] How to detect languages from (=> LTR vs RTL)

2012-02-07 Thread Dotan Cohen
On Tue, Feb 7, 2012 at 19:31, Dotan Cohen  wrote:
> function is_strong($char) {
>    if (  in_array($char, $arrayOfRtlCharacters)  ) {
>        return "RTL";
>    }
>    if (  in_array($char, $arrayOfLtrCharacters)  ) {
>        return "LTR";
>    }
>    return FALSE;
> }
>

On second thought, you might want to try preg_match() instead of
in_array() to use character ranges.


-- 
Dotan Cohen

http://gibberish.co.il
http://what-is-what.com

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] How to detect languages from (=> LTR vs RTL)

2012-02-07 Thread Dotan Cohen
On Tue, Feb 7, 2012 at 10:37, Michelle Konzack
 wrote:
> Hi colleges and gurus,
>
> I coding a whole "web office" and one of my problems is "LTR vs RTL".
> If I have for exanple an E-Mail I use a
>
>    
>      $SOME_TEXT
>    
>
> but HOW can I detect the type of $SOME_TEXT  from  within  PHP,  to  set
> $DIRECTION? (RTL or LTR) correctly?
>
> And how can I do this with mixed Text (by  line  or  entired  paragraph)
> like:
>
>   german       <- must be LTR
>   persian      <--- must be RTL
>   english      <- must be LTR
>   arabic       <--- must be RTL
>   french       <- must be LTR
>   jidisch      <--- must be RTL
>
> Ayn Iranian (Moxhtar?), Arabs (Jasin?) or Jews (Dotan?) here  which  can
> help me please?
>
> Thanks, Greetings and nice Day/Evening
>    Michelle Konzack
>

Hi Michelle! There is no reliable way to determine the intent of the
author, but most software detects RTL vs LTR by the first "strong"
character found in the string. Strong characters are letters, not
punctuation or numbers which are used in both LTR or RTL environments.

Untested, but you might be able to do something like this:

while (!feof($input)) {
$char = fgetc($input);
if ( is_strong($char) ) {
$direction=is_strong($char);
break;
}
}

function is_strong($char) {
if (  in_array($char, $arrayOfRtlCharacters)  ) {
return "RTL";
}
if (  in_array($char, $arrayOfLtrCharacters)  ) {
return "LTR";
}
return FALSE;
}

-- 
Dotan Cohen

http://gibberish.co.il
http://what-is-what.com

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] How to detect languages from (=> LTR vs RTL)

2012-02-07 Thread Ashley Sheridan
On Tue, 2012-02-07 at 09:37 +0100, Michelle Konzack wrote:

> Hi colleges and gurus,
> 
> I coding a whole "web office" and one of my problems is "LTR vs RTL".
> If I have for exanple an E-Mail I use a
> 
> 
>   $SOME_TEXT
> 
> 
> but HOW can I detect the type of $SOME_TEXT  from  within  PHP,  to  set
> $DIRECTION? (RTL or LTR) correctly?
> 
> And how can I do this with mixed Text (by  line  or  entired  paragraph)
> like:
> 
>german   <- must be LTR
>persian  <--- must be RTL
>english  <- must be LTR
>arabic   <--- must be RTL
>french   <- must be LTR
>jidisch  <--- must be RTL
> 
> Ayn Iranian (Moxhtar?), Arabs (Jasin?) or Jews (Dotan?) here  which  can
> help me please?
> 
> Thanks, Greetings and nice Day/Evening
> Michelle Konzack
> 


If I understand you correctly, you want to detect the language of a
string, or is it a substring within a string?

I'm not sure how easy that would be, given that some shorter sentences
might be common across languages, but I would hazard a guess that they
would also share the direction, so that shouldn't be a major issue.

I don't know of any way to do that, but could you possibly look for
certain characters in the string that would hint at the language? It
wouldn't work too well with mixed-language strings, but it might be
enough for what you want here?

-- 
Thanks,
Ash
http://www.ashleysheridan.co.uk




[PHP] How to detect languages from (=> LTR vs RTL)

2012-02-07 Thread Michelle Konzack
Hi colleges and gurus,

I coding a whole "web office" and one of my problems is "LTR vs RTL".
If I have for exanple an E-Mail I use a


  $SOME_TEXT


but HOW can I detect the type of $SOME_TEXT  from  within  PHP,  to  set
$DIRECTION? (RTL or LTR) correctly?

And how can I do this with mixed Text (by  line  or  entired  paragraph)
like:

   german   <- must be LTR
   persian  <--- must be RTL
   english  <- must be LTR
   arabic   <--- must be RTL
   french   <- must be LTR
   jidisch  <--- must be RTL

Ayn Iranian (Moxhtar?), Arabs (Jasin?) or Jews (Dotan?) here  which  can
help me please?

Thanks, Greetings and nice Day/Evening
Michelle Konzack

-- 
# Debian GNU/Linux Consultant ##
   Development of Intranet and Embedded Systems with Debian GNU/Linux
   Internet Service Provider, Cloud Computing


itsystems@tdnet Jabber  linux4miche...@jabber.ccc.de
Owner Michelle Konzack

Gewerbe Strasse 3   Tel office: +49-176-86004575
77694 Kehl  Tel mobil:  +49-177-9351947
Germany Tel mobil:  +33-6-61925193  (France)

USt-ID:  DE 278 049 239

Linux-User #280138 with the Linux Counter, http://counter.li.org/


signature.pgp
Description: Digital signature