הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [JS + PHP] שתי שאלות על RegExp . (https://hosts.co.il/forums/showthread.php?t=26810)

miniature 20-07-06 00:48

[JS + PHP] שתי שאלות על RegExp .
 
1. איך כותבים RegExp ב PHP? ב JS כותבים את ה RegExp כפי שהוא ב IF.. איך ב PHP?
2. יש לי את ה RegExp הבא:
קוד:

/^\w{3,15}$/.test(checks_value)
אני רוצה לעשות שבנוסף לאותיות האנגליות, המספרים וה _ יהיה אפשר לכתוב תווים בעברית.
איך אפשר לעשות את זה?


תודה,

RS324 20-07-06 01:22

עקרונית בשביל לעשות REGEX ב PHP יש לך 2 פונקציות עיקריות
EREGI ו PREG וכמובן כל הנגזרות שלהם
כאשר PREG לקוחה מ PREL והיא נחשבת יותר מהירה מהשניה

לגבי אותיות עבריות יש 2 אפשרויות אם הדף שלך כתוב ב WINDOWS-1255 וגם ה INPUT
נראה לי שזה ימצא
אם לא, תנסה להמיר את המחרוזת לתווים אסקים ואז להשתמש
בכל מקרה אני לא בטוח לגבי העיברית אז אל תתפוס אותי במילה

miniature 20-07-06 01:26

תודה בקשר ל PHP (אפשר רק דוגמא לשימוש? כי ב PHP.NET לא מראים ממש REG EXP ..).
בקשר לעברית, הדף כתוב ב WINDOWS-1255 וה INPUT רגיל.... וזה לא עובד על עברית.

Tal Aviel 20-07-06 01:29

דווקא יש דוגמא ב-PHP.NET.
קוד:

<?php
$str = 'foo  o';
$str = preg_replace('/\s\s+/', ' ', $str);
// This will be 'foo o' now
echo $str;
?>

בדוגמא מסירים מספר רווחים והופכים אותם לרווח אחד בלבד.

RS324 20-07-06 01:31

TEL AVIV - חוץ מלהעתיק את הדוגמא מאתר מסויים, אתה מסוגל באמת להסביר אותה ?

miniature - אממ, מה אתה מנסה בדיוק לעשות ? לבדוק אם יש במחרזות תווים בעברית ואז להעיף אותם ? להוציא פלט שגיאה ? לא הבנתי בדיוק

miniature 20-07-06 02:12

אני מנסה להוציא פלט שגיאה.

RS324 20-07-06 02:17

כתבתי את הקוד הבא :
עובד לי מצויין.

PHP קוד:

$word 'בדיקה';

echo 
"<pre>";

if (
preg_match("/[א-ת]/",$word))
{
echo 
"hebrew is not allowed";
}
else 
{
    echo 
"all ok :)";
}
die(); 


miniature 20-07-06 02:27

ציטוט:

נכתב במקור על ידי RS324
כתבתי את הקוד הבא :
עובד לי מצויין.

PHP קוד:

$word 'בדיקה';
 
echo 
"<pre>";
 
if (
preg_match("/[א-ת]/",$word))
{
echo 
"hebrew is not allowed";
}
else 
{
    echo 
"all ok :)";
}
die(); 


חח אוקי זה ברור.
הבעיה שלי היא שאני לא יודע איך לשלב את זה ב RegExp שציינתי בהודעה הראשונה.

RS324 20-07-06 02:38

מה מה שכתבת בהודעה הראשונה עושה ?

miniature 20-07-06 02:47

בודק האם מחרוזת כלשהי מכילה בין התווים 3-5 את אחד התווים הבאים:
-אותיות אנגליות
-מספרים
-התו _


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

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