נושא כאוב: ragex+mb

נושא כאוב: ragex+mb

יש לי מחרוזת בMB. אני רוצה להחליף רצף של "תוים לבנים" בה באות X. לא יוצא. המחרוזת ההתחלתית: "שלום להתראות"
mb_ereg_replace("\s*", 'X', $instr); נותן X�X�X�X�X�X�X�X�XX�X�X�X�X�X�X�X�X�X�X�X�X�X�X ereg_replace("\s*", 'X', $instr); נותן X�X�X�X�X�X�X�X�X X X X X X X X X X X�X�X�X�X�X�X�X�X�X�X�X�X�X�X preg_replace("/\s*/", 'X', $instr); נותן X�X�X�X�X�X�X�X�X X X X X X X X X X X�X�X�X�X�X�X�X�X�X�X�X�X�X�X​
יש עצה?
 
תודה. עכשיו בעייה אחרת

אני רוצה שיחליף כל מה שהוא לא אות עברית או ספרה או רווח ב"כלום". מנסה ככה:
preg_replace('[^א-ת0-9 ]', '', $instr)​
הוא מחליף יפה כמעט את הכל, אבל משאיר סימני ניקוד בעברית (ושאריות אחרות)
 

DnGR1

New member
ואם הוא יכניס צרפתית?

אולי תנסה לחשוב הפוך, להחליף כל מה שלא אנגלית או ספרה או רווח בכלום?
 
מה? לא הבנתי.

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

DnGR1

New member
סליחה. טעות שלי.

אם אתה רוצה להשאיר גם ניקוד אז תתן את התו ניקוד הראשון והאחרון. בדקתי אצלי וזה עובד:
preg_replace("/[^ֱ-ּ0-9א-ת\s]+/", '', $instr);​
 
למעלה