הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 09-01-13, 16:13   # 1
GNS
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jun 2012
הודעות: 276

GNS לא מחובר  

המרת REGEX מJS ל PHP

יש לי קוד רגקס JS שלקוח מגוגל שבודק האם סטרינג מסויים אמור להיות מימין לשמאל או משמאל לימין:
קוד:
        var ltrChars            = 'A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8\u0300-\u0590\u0800-\u1FFF'+'\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF',
            rtlChars            = '\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC',
            ltrDirCheckRe       = new RegExp('^[^'+rtlChars+']*['+ltrChars+']'),
            rtlDirCheckRe       = new RegExp('^[^'+ltrChars+']*['+rtlChars+']');

אני צריך לעשות אותו דבר אבל בPHP. ניסיתי להעתיק את הרגקס בדיוק כמו שהוא אבל זה לא עובד:

PHP קוד:
<?php
$rtlChars
="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC";
$ltrChars="A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8\u0300-\u0590\u0800-\u1FFF"."\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF";
$ltrRegex='^[^'.$rtlChars.']*['.$ltrChars.']';
$rtlRegex='^[^'.$ltrChars.']*['.$rtlChars.']';

if(
preg_match($rtlRegex"abc"))
{
    echo 
"rtl";
}
else if(
preg_match($ltrRegex"abc"))
{
    echo 
"ltr";
}
else
{
    echo 
"undefinded";
}

?>
תודה!
  Reply With Quote
ישן 09-01-13, 17:54   # 2
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

אני לא בטוח, אבל תנסה:
PHP קוד:
<?php

$rtlChars
="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC"
$ltrChars="A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8\u0300-\u0590\u0800-\u1FFF"."\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF"
$ltrRegex='/^[^'.$rtlChars.']*['.$ltrChars.']/'
$rtlRegex='/^[^'.$ltrChars.']*['.$rtlChars.']/'

if(
preg_match($rtlRegex"abc")) 

    echo 
"rtl"

else if(
preg_match($ltrRegex"abc")) 

    echo 
"ltr"

else 

    echo 
"undefinded"

?>
  Reply With Quote
ישן 09-01-13, 18:52   # 3
GNS
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jun 2012
הודעות: 276

GNS לא מחובר  

ציטוט:
נכתב במקור על ידי Haimz צפה בהודעה
אני לא בטוח, אבל תנסה:
PHP קוד:
<?php

$rtlChars
="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC"
$ltrChars="A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8\u0300-\u0590\u0800-\u1FFF"."\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF"
$ltrRegex='/^[^'.$rtlChars.']*['.$ltrChars.']/'
$rtlRegex='/^[^'.$ltrChars.']*['.$rtlChars.']/'

if(
preg_match($rtlRegex"abc")) 

    echo 
"rtl"

else if(
preg_match($ltrRegex"abc")) 

    echo 
"ltr"

else 

    echo 
"undefinded"

?>
=\ לא עובד..
  Reply With Quote
ישן 10-01-13, 12:24   # 4
איציק ברבי
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Feb 2011
הודעות: 970

איציק ברבי לא מחובר  

שגיאה? או שלא עובד בכללי.
__________________

איציק ברבי - שירות לקוחות
כתובת אתר: http://build-net.co.il/
איימל: Support@build-net.co.il
טלפון: 052-3937296.
  Reply With Quote
ישן 10-01-13, 12:43   # 5
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

אולי:
PHP קוד:
<?php
    
if( preg_match('/^[\x{0590}-\x{05ff}\x{0600}-\x{06ff}]/u'$string) )
    {
        echo 
"rtl";
    }
    else
    {
        echo 
"ltr";
    }
?>
  Reply With Quote
ישן 10-01-13, 12:52   # 6
GNS
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jun 2012
הודעות: 276

GNS לא מחובר  

ציטוט:
נכתב במקור על ידי Haimz צפה בהודעה
אולי:
PHP קוד:
<?php
    
if( preg_match('/^[\x{0590}-\x{05ff}\x{0600}-\x{06ff}]/u'$string) )
    {
        echo 
"rtl";
    }
    else
    {
        echo 
"ltr";
    }
?>
גם לא..
תמיד מחזיר ltr
  Reply With Quote
ישן 10-01-13, 18:22   # 7
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

את זה כתבתי ובדקתי..
PHP קוד:
<?php 
    $string 
"שלום";    

    if( 
preg_match('/^[א-ת]+/'$string) ) 
    { 
        echo 
"rtl"
    } 
    else 
    { 
        echo 
"ltr"
    } 
?>
  Reply With Quote
ישן 10-01-13, 20:59   # 8
GNS
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jun 2012
הודעות: 276

GNS לא מחובר  

ציטוט:
נכתב במקור על ידי Haimz צפה בהודעה
את זה כתבתי ובדקתי..
PHP קוד:
<?php 
    $string 
"שלום";    

    if( 
preg_match('/^[א-ת]+/'$string) ) 
    { 
        echo 
"rtl"
    } 
    else 
    { 
        echo 
"ltr"
    } 
?>
אבל זה עובד רק בעברית.

אני צריך של כל השפות (יש עוד שפות שכותבים מימין לשמאל).
לכן אני דבק באלגוריתם של גוגל.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 22:10.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ